You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by pr...@apache.org on 2014/11/18 09:47:55 UTC

[4/5] incubator-sentry git commit: SENTRY-74: Add column-level privileges for Hive/Impala (Dapeng Sun and Xiaomeng Huang via Prasad Mujumdar)

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TAlterSentryRoleRevokePrivilegeRequest.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TAlterSentryRoleRevokePrivilegeRequest.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TAlterSentryRoleRevokePrivilegeRequest.java
index bbd9536..71cc12e 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TAlterSentryRoleRevokePrivilegeRequest.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TAlterSentryRoleRevokePrivilegeRequest.java
@@ -38,6 +38,7 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
   private static final org.apache.thrift.protocol.TField REQUESTOR_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("requestorUserName", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField ROLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("roleName", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField PRIVILEGE_FIELD_DESC = new org.apache.thrift.protocol.TField("privilege", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+  private static final org.apache.thrift.protocol.TField PRIVILEGES_FIELD_DESC = new org.apache.thrift.protocol.TField("privileges", org.apache.thrift.protocol.TType.SET, (short)6);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -48,14 +49,16 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
   private int protocol_version; // required
   private String requestorUserName; // required
   private String roleName; // required
-  private TSentryPrivilege privilege; // required
+  private TSentryPrivilege privilege; // optional
+  private Set<TSentryPrivilege> privileges; // 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 {
     PROTOCOL_VERSION((short)1, "protocol_version"),
     REQUESTOR_USER_NAME((short)2, "requestorUserName"),
     ROLE_NAME((short)3, "roleName"),
-    PRIVILEGE((short)5, "privilege");
+    PRIVILEGE((short)5, "privilege"),
+    PRIVILEGES((short)6, "privileges");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -78,6 +81,8 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
           return ROLE_NAME;
         case 5: // PRIVILEGE
           return PRIVILEGE;
+        case 6: // PRIVILEGES
+          return PRIVILEGES;
         default:
           return null;
       }
@@ -120,6 +125,7 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
   // isset id assignments
   private static final int __PROTOCOL_VERSION_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.PRIVILEGE,_Fields.PRIVILEGES};
   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);
@@ -129,8 +135,11 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.ROLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("roleName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PRIVILEGE, new org.apache.thrift.meta_data.FieldMetaData("privilege", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+    tmpMap.put(_Fields.PRIVILEGE, new org.apache.thrift.meta_data.FieldMetaData("privilege", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TSentryPrivilege.class)));
+    tmpMap.put(_Fields.PRIVILEGES, new org.apache.thrift.meta_data.FieldMetaData("privileges", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TSentryPrivilege.class))));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TAlterSentryRoleRevokePrivilegeRequest.class, metaDataMap);
   }
@@ -143,15 +152,13 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
   public TAlterSentryRoleRevokePrivilegeRequest(
     int protocol_version,
     String requestorUserName,
-    String roleName,
-    TSentryPrivilege privilege)
+    String roleName)
   {
     this();
     this.protocol_version = protocol_version;
     setProtocol_versionIsSet(true);
     this.requestorUserName = requestorUserName;
     this.roleName = roleName;
-    this.privilege = privilege;
   }
 
   /**
@@ -169,6 +176,13 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
     if (other.isSetPrivilege()) {
       this.privilege = new TSentryPrivilege(other.privilege);
     }
+    if (other.isSetPrivileges()) {
+      Set<TSentryPrivilege> __this__privileges = new HashSet<TSentryPrivilege>();
+      for (TSentryPrivilege other_element : other.privileges) {
+        __this__privileges.add(new TSentryPrivilege(other_element));
+      }
+      this.privileges = __this__privileges;
+    }
   }
 
   public TAlterSentryRoleRevokePrivilegeRequest deepCopy() {
@@ -182,6 +196,7 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
     this.requestorUserName = null;
     this.roleName = null;
     this.privilege = null;
+    this.privileges = null;
   }
 
   public int getProtocol_version() {
@@ -275,6 +290,44 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
     }
   }
 
+  public int getPrivilegesSize() {
+    return (this.privileges == null) ? 0 : this.privileges.size();
+  }
+
+  public java.util.Iterator<TSentryPrivilege> getPrivilegesIterator() {
+    return (this.privileges == null) ? null : this.privileges.iterator();
+  }
+
+  public void addToPrivileges(TSentryPrivilege elem) {
+    if (this.privileges == null) {
+      this.privileges = new HashSet<TSentryPrivilege>();
+    }
+    this.privileges.add(elem);
+  }
+
+  public Set<TSentryPrivilege> getPrivileges() {
+    return this.privileges;
+  }
+
+  public void setPrivileges(Set<TSentryPrivilege> privileges) {
+    this.privileges = privileges;
+  }
+
+  public void unsetPrivileges() {
+    this.privileges = null;
+  }
+
+  /** Returns true if field privileges is set (has been assigned a value) and false otherwise */
+  public boolean isSetPrivileges() {
+    return this.privileges != null;
+  }
+
+  public void setPrivilegesIsSet(boolean value) {
+    if (!value) {
+      this.privileges = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case PROTOCOL_VERSION:
@@ -309,6 +362,14 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
       }
       break;
 
+    case PRIVILEGES:
+      if (value == null) {
+        unsetPrivileges();
+      } else {
+        setPrivileges((Set<TSentryPrivilege>)value);
+      }
+      break;
+
     }
   }
 
@@ -326,6 +387,9 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
     case PRIVILEGE:
       return getPrivilege();
 
+    case PRIVILEGES:
+      return getPrivileges();
+
     }
     throw new IllegalStateException();
   }
@@ -345,6 +409,8 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
       return isSetRoleName();
     case PRIVILEGE:
       return isSetPrivilege();
+    case PRIVILEGES:
+      return isSetPrivileges();
     }
     throw new IllegalStateException();
   }
@@ -398,6 +464,15 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
         return false;
     }
 
+    boolean this_present_privileges = true && this.isSetPrivileges();
+    boolean that_present_privileges = true && that.isSetPrivileges();
+    if (this_present_privileges || that_present_privileges) {
+      if (!(this_present_privileges && that_present_privileges))
+        return false;
+      if (!this.privileges.equals(that.privileges))
+        return false;
+    }
+
     return true;
   }
 
@@ -425,6 +500,11 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
     if (present_privilege)
       builder.append(privilege);
 
+    boolean present_privileges = true && (isSetPrivileges());
+    builder.append(present_privileges);
+    if (present_privileges)
+      builder.append(privileges);
+
     return builder.toHashCode();
   }
 
@@ -476,6 +556,16 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetPrivileges()).compareTo(typedOther.isSetPrivileges());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPrivileges()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.privileges, typedOther.privileges);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -515,14 +605,26 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
       sb.append(this.roleName);
     }
     first = false;
-    if (!first) sb.append(", ");
-    sb.append("privilege:");
-    if (this.privilege == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.privilege);
+    if (isSetPrivilege()) {
+      if (!first) sb.append(", ");
+      sb.append("privilege:");
+      if (this.privilege == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.privilege);
+      }
+      first = false;
+    }
+    if (isSetPrivileges()) {
+      if (!first) sb.append(", ");
+      sb.append("privileges:");
+      if (this.privileges == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.privileges);
+      }
+      first = false;
     }
-    first = false;
     sb.append(")");
     return sb.toString();
   }
@@ -541,10 +643,6 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'roleName' is unset! Struct:" + toString());
     }
 
-    if (!isSetPrivilege()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'privilege' is unset! Struct:" + toString());
-    }
-
     // check for sub-struct validity
     if (privilege != null) {
       privilege.validate();
@@ -620,6 +718,25 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 6: // PRIVILEGES
+            if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
+              {
+                org.apache.thrift.protocol.TSet _set32 = iprot.readSetBegin();
+                struct.privileges = new HashSet<TSentryPrivilege>(2*_set32.size);
+                for (int _i33 = 0; _i33 < _set32.size; ++_i33)
+                {
+                  TSentryPrivilege _elem34; // required
+                  _elem34 = new TSentryPrivilege();
+                  _elem34.read(iprot);
+                  struct.privileges.add(_elem34);
+                }
+                iprot.readSetEnd();
+              }
+              struct.setPrivilegesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -647,9 +764,25 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
         oprot.writeFieldEnd();
       }
       if (struct.privilege != null) {
-        oprot.writeFieldBegin(PRIVILEGE_FIELD_DESC);
-        struct.privilege.write(oprot);
-        oprot.writeFieldEnd();
+        if (struct.isSetPrivilege()) {
+          oprot.writeFieldBegin(PRIVILEGE_FIELD_DESC);
+          struct.privilege.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.privileges != null) {
+        if (struct.isSetPrivileges()) {
+          oprot.writeFieldBegin(PRIVILEGES_FIELD_DESC);
+          {
+            oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.privileges.size()));
+            for (TSentryPrivilege _iter35 : struct.privileges)
+            {
+              _iter35.write(oprot);
+            }
+            oprot.writeSetEnd();
+          }
+          oprot.writeFieldEnd();
+        }
       }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
@@ -671,7 +804,26 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
       oprot.writeI32(struct.protocol_version);
       oprot.writeString(struct.requestorUserName);
       oprot.writeString(struct.roleName);
-      struct.privilege.write(oprot);
+      BitSet optionals = new BitSet();
+      if (struct.isSetPrivilege()) {
+        optionals.set(0);
+      }
+      if (struct.isSetPrivileges()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetPrivilege()) {
+        struct.privilege.write(oprot);
+      }
+      if (struct.isSetPrivileges()) {
+        {
+          oprot.writeI32(struct.privileges.size());
+          for (TSentryPrivilege _iter36 : struct.privileges)
+          {
+            _iter36.write(oprot);
+          }
+        }
+      }
     }
 
     @Override
@@ -683,9 +835,26 @@ public class TAlterSentryRoleRevokePrivilegeRequest implements org.apache.thrift
       struct.setRequestorUserNameIsSet(true);
       struct.roleName = iprot.readString();
       struct.setRoleNameIsSet(true);
-      struct.privilege = new TSentryPrivilege();
-      struct.privilege.read(iprot);
-      struct.setPrivilegeIsSet(true);
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.privilege = new TSentryPrivilege();
+        struct.privilege.read(iprot);
+        struct.setPrivilegeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TSet _set37 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.privileges = new HashSet<TSentryPrivilege>(2*_set37.size);
+          for (int _i38 = 0; _i38 < _set37.size; ++_i38)
+          {
+            TSentryPrivilege _elem39; // required
+            _elem39 = new TSentryPrivilege();
+            _elem39.read(iprot);
+            struct.privileges.add(_elem39);
+          }
+        }
+        struct.setPrivilegesIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthRequest.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthRequest.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthRequest.java
index 2bd860e..1a5d3cf 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthRequest.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthRequest.java
@@ -724,14 +724,14 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
           case 3: // AUTHORIZABLE_SET
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set82 = iprot.readSetBegin();
-                struct.authorizableSet = new HashSet<TSentryAuthorizable>(2*_set82.size);
-                for (int _i83 = 0; _i83 < _set82.size; ++_i83)
+                org.apache.thrift.protocol.TSet _set106 = iprot.readSetBegin();
+                struct.authorizableSet = new HashSet<TSentryAuthorizable>(2*_set106.size);
+                for (int _i107 = 0; _i107 < _set106.size; ++_i107)
                 {
-                  TSentryAuthorizable _elem84; // required
-                  _elem84 = new TSentryAuthorizable();
-                  _elem84.read(iprot);
-                  struct.authorizableSet.add(_elem84);
+                  TSentryAuthorizable _elem108; // required
+                  _elem108 = new TSentryAuthorizable();
+                  _elem108.read(iprot);
+                  struct.authorizableSet.add(_elem108);
                 }
                 iprot.readSetEnd();
               }
@@ -743,13 +743,13 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
           case 4: // GROUPS
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set85 = iprot.readSetBegin();
-                struct.groups = new HashSet<String>(2*_set85.size);
-                for (int _i86 = 0; _i86 < _set85.size; ++_i86)
+                org.apache.thrift.protocol.TSet _set109 = iprot.readSetBegin();
+                struct.groups = new HashSet<String>(2*_set109.size);
+                for (int _i110 = 0; _i110 < _set109.size; ++_i110)
                 {
-                  String _elem87; // required
-                  _elem87 = iprot.readString();
-                  struct.groups.add(_elem87);
+                  String _elem111; // required
+                  _elem111 = iprot.readString();
+                  struct.groups.add(_elem111);
                 }
                 iprot.readSetEnd();
               }
@@ -792,9 +792,9 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
         oprot.writeFieldBegin(AUTHORIZABLE_SET_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.authorizableSet.size()));
-          for (TSentryAuthorizable _iter88 : struct.authorizableSet)
+          for (TSentryAuthorizable _iter112 : struct.authorizableSet)
           {
-            _iter88.write(oprot);
+            _iter112.write(oprot);
           }
           oprot.writeSetEnd();
         }
@@ -805,9 +805,9 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
           oprot.writeFieldBegin(GROUPS_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.groups.size()));
-            for (String _iter89 : struct.groups)
+            for (String _iter113 : struct.groups)
             {
-              oprot.writeString(_iter89);
+              oprot.writeString(_iter113);
             }
             oprot.writeSetEnd();
           }
@@ -842,9 +842,9 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
       oprot.writeString(struct.requestorUserName);
       {
         oprot.writeI32(struct.authorizableSet.size());
-        for (TSentryAuthorizable _iter90 : struct.authorizableSet)
+        for (TSentryAuthorizable _iter114 : struct.authorizableSet)
         {
-          _iter90.write(oprot);
+          _iter114.write(oprot);
         }
       }
       BitSet optionals = new BitSet();
@@ -858,9 +858,9 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
       if (struct.isSetGroups()) {
         {
           oprot.writeI32(struct.groups.size());
-          for (String _iter91 : struct.groups)
+          for (String _iter115 : struct.groups)
           {
-            oprot.writeString(_iter91);
+            oprot.writeString(_iter115);
           }
         }
       }
@@ -877,27 +877,27 @@ public class TListSentryPrivilegesByAuthRequest implements org.apache.thrift.TBa
       struct.requestorUserName = iprot.readString();
       struct.setRequestorUserNameIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set92 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.authorizableSet = new HashSet<TSentryAuthorizable>(2*_set92.size);
-        for (int _i93 = 0; _i93 < _set92.size; ++_i93)
+        org.apache.thrift.protocol.TSet _set116 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.authorizableSet = new HashSet<TSentryAuthorizable>(2*_set116.size);
+        for (int _i117 = 0; _i117 < _set116.size; ++_i117)
         {
-          TSentryAuthorizable _elem94; // required
-          _elem94 = new TSentryAuthorizable();
-          _elem94.read(iprot);
-          struct.authorizableSet.add(_elem94);
+          TSentryAuthorizable _elem118; // required
+          _elem118 = new TSentryAuthorizable();
+          _elem118.read(iprot);
+          struct.authorizableSet.add(_elem118);
         }
       }
       struct.setAuthorizableSetIsSet(true);
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TSet _set95 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.groups = new HashSet<String>(2*_set95.size);
-          for (int _i96 = 0; _i96 < _set95.size; ++_i96)
+          org.apache.thrift.protocol.TSet _set119 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.groups = new HashSet<String>(2*_set119.size);
+          for (int _i120 = 0; _i120 < _set119.size; ++_i120)
           {
-            String _elem97; // required
-            _elem97 = iprot.readString();
-            struct.groups.add(_elem97);
+            String _elem121; // required
+            _elem121 = iprot.readString();
+            struct.groups.add(_elem121);
           }
         }
         struct.setGroupsIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthResponse.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthResponse.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthResponse.java
index d0cfe0b..870f94b 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthResponse.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesByAuthResponse.java
@@ -449,17 +449,17 @@ public class TListSentryPrivilegesByAuthResponse implements org.apache.thrift.TB
           case 2: // PRIVILEGES_MAP_BY_AUTH
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map98 = iprot.readMapBegin();
-                struct.privilegesMapByAuth = new HashMap<TSentryAuthorizable,TSentryPrivilegeMap>(2*_map98.size);
-                for (int _i99 = 0; _i99 < _map98.size; ++_i99)
+                org.apache.thrift.protocol.TMap _map122 = iprot.readMapBegin();
+                struct.privilegesMapByAuth = new HashMap<TSentryAuthorizable,TSentryPrivilegeMap>(2*_map122.size);
+                for (int _i123 = 0; _i123 < _map122.size; ++_i123)
                 {
-                  TSentryAuthorizable _key100; // required
-                  TSentryPrivilegeMap _val101; // required
-                  _key100 = new TSentryAuthorizable();
-                  _key100.read(iprot);
-                  _val101 = new TSentryPrivilegeMap();
-                  _val101.read(iprot);
-                  struct.privilegesMapByAuth.put(_key100, _val101);
+                  TSentryAuthorizable _key124; // required
+                  TSentryPrivilegeMap _val125; // required
+                  _key124 = new TSentryAuthorizable();
+                  _key124.read(iprot);
+                  _val125 = new TSentryPrivilegeMap();
+                  _val125.read(iprot);
+                  struct.privilegesMapByAuth.put(_key124, _val125);
                 }
                 iprot.readMapEnd();
               }
@@ -491,10 +491,10 @@ public class TListSentryPrivilegesByAuthResponse implements org.apache.thrift.TB
           oprot.writeFieldBegin(PRIVILEGES_MAP_BY_AUTH_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, struct.privilegesMapByAuth.size()));
-            for (Map.Entry<TSentryAuthorizable, TSentryPrivilegeMap> _iter102 : struct.privilegesMapByAuth.entrySet())
+            for (Map.Entry<TSentryAuthorizable, TSentryPrivilegeMap> _iter126 : struct.privilegesMapByAuth.entrySet())
             {
-              _iter102.getKey().write(oprot);
-              _iter102.getValue().write(oprot);
+              _iter126.getKey().write(oprot);
+              _iter126.getValue().write(oprot);
             }
             oprot.writeMapEnd();
           }
@@ -527,10 +527,10 @@ public class TListSentryPrivilegesByAuthResponse implements org.apache.thrift.TB
       if (struct.isSetPrivilegesMapByAuth()) {
         {
           oprot.writeI32(struct.privilegesMapByAuth.size());
-          for (Map.Entry<TSentryAuthorizable, TSentryPrivilegeMap> _iter103 : struct.privilegesMapByAuth.entrySet())
+          for (Map.Entry<TSentryAuthorizable, TSentryPrivilegeMap> _iter127 : struct.privilegesMapByAuth.entrySet())
           {
-            _iter103.getKey().write(oprot);
-            _iter103.getValue().write(oprot);
+            _iter127.getKey().write(oprot);
+            _iter127.getValue().write(oprot);
           }
         }
       }
@@ -545,17 +545,17 @@ public class TListSentryPrivilegesByAuthResponse implements org.apache.thrift.TB
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TMap _map104 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.privilegesMapByAuth = new HashMap<TSentryAuthorizable,TSentryPrivilegeMap>(2*_map104.size);
-          for (int _i105 = 0; _i105 < _map104.size; ++_i105)
+          org.apache.thrift.protocol.TMap _map128 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.privilegesMapByAuth = new HashMap<TSentryAuthorizable,TSentryPrivilegeMap>(2*_map128.size);
+          for (int _i129 = 0; _i129 < _map128.size; ++_i129)
           {
-            TSentryAuthorizable _key106; // required
-            TSentryPrivilegeMap _val107; // required
-            _key106 = new TSentryAuthorizable();
-            _key106.read(iprot);
-            _val107 = new TSentryPrivilegeMap();
-            _val107.read(iprot);
-            struct.privilegesMapByAuth.put(_key106, _val107);
+            TSentryAuthorizable _key130; // required
+            TSentryPrivilegeMap _val131; // required
+            _key130 = new TSentryAuthorizable();
+            _key130.read(iprot);
+            _val131 = new TSentryPrivilegeMap();
+            _val131.read(iprot);
+            struct.privilegesMapByAuth.put(_key130, _val131);
           }
         }
         struct.setPrivilegesMapByAuthIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderRequest.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderRequest.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderRequest.java
index 10ab56b..6ff6b48 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderRequest.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderRequest.java
@@ -618,13 +618,13 @@ public class TListSentryPrivilegesForProviderRequest implements org.apache.thrif
           case 2: // GROUPS
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set48 = iprot.readSetBegin();
-                struct.groups = new HashSet<String>(2*_set48.size);
-                for (int _i49 = 0; _i49 < _set48.size; ++_i49)
+                org.apache.thrift.protocol.TSet _set72 = iprot.readSetBegin();
+                struct.groups = new HashSet<String>(2*_set72.size);
+                for (int _i73 = 0; _i73 < _set72.size; ++_i73)
                 {
-                  String _elem50; // required
-                  _elem50 = iprot.readString();
-                  struct.groups.add(_elem50);
+                  String _elem74; // required
+                  _elem74 = iprot.readString();
+                  struct.groups.add(_elem74);
                 }
                 iprot.readSetEnd();
               }
@@ -671,9 +671,9 @@ public class TListSentryPrivilegesForProviderRequest implements org.apache.thrif
         oprot.writeFieldBegin(GROUPS_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.groups.size()));
-          for (String _iter51 : struct.groups)
+          for (String _iter75 : struct.groups)
           {
-            oprot.writeString(_iter51);
+            oprot.writeString(_iter75);
           }
           oprot.writeSetEnd();
         }
@@ -711,9 +711,9 @@ public class TListSentryPrivilegesForProviderRequest implements org.apache.thrif
       oprot.writeI32(struct.protocol_version);
       {
         oprot.writeI32(struct.groups.size());
-        for (String _iter52 : struct.groups)
+        for (String _iter76 : struct.groups)
         {
-          oprot.writeString(_iter52);
+          oprot.writeString(_iter76);
         }
       }
       struct.roleSet.write(oprot);
@@ -733,13 +733,13 @@ public class TListSentryPrivilegesForProviderRequest implements org.apache.thrif
       struct.protocol_version = iprot.readI32();
       struct.setProtocol_versionIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set53 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.groups = new HashSet<String>(2*_set53.size);
-        for (int _i54 = 0; _i54 < _set53.size; ++_i54)
+        org.apache.thrift.protocol.TSet _set77 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.groups = new HashSet<String>(2*_set77.size);
+        for (int _i78 = 0; _i78 < _set77.size; ++_i78)
         {
-          String _elem55; // required
-          _elem55 = iprot.readString();
-          struct.groups.add(_elem55);
+          String _elem79; // required
+          _elem79 = iprot.readString();
+          struct.groups.add(_elem79);
         }
       }
       struct.setGroupsIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderResponse.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderResponse.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderResponse.java
index 4c571c2..b900dec 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderResponse.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesForProviderResponse.java
@@ -447,13 +447,13 @@ public class TListSentryPrivilegesForProviderResponse implements org.apache.thri
           case 2: // PRIVILEGES
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set56 = iprot.readSetBegin();
-                struct.privileges = new HashSet<String>(2*_set56.size);
-                for (int _i57 = 0; _i57 < _set56.size; ++_i57)
+                org.apache.thrift.protocol.TSet _set80 = iprot.readSetBegin();
+                struct.privileges = new HashSet<String>(2*_set80.size);
+                for (int _i81 = 0; _i81 < _set80.size; ++_i81)
                 {
-                  String _elem58; // required
-                  _elem58 = iprot.readString();
-                  struct.privileges.add(_elem58);
+                  String _elem82; // required
+                  _elem82 = iprot.readString();
+                  struct.privileges.add(_elem82);
                 }
                 iprot.readSetEnd();
               }
@@ -484,9 +484,9 @@ public class TListSentryPrivilegesForProviderResponse implements org.apache.thri
         oprot.writeFieldBegin(PRIVILEGES_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.privileges.size()));
-          for (String _iter59 : struct.privileges)
+          for (String _iter83 : struct.privileges)
           {
-            oprot.writeString(_iter59);
+            oprot.writeString(_iter83);
           }
           oprot.writeSetEnd();
         }
@@ -512,9 +512,9 @@ public class TListSentryPrivilegesForProviderResponse implements org.apache.thri
       struct.status.write(oprot);
       {
         oprot.writeI32(struct.privileges.size());
-        for (String _iter60 : struct.privileges)
+        for (String _iter84 : struct.privileges)
         {
-          oprot.writeString(_iter60);
+          oprot.writeString(_iter84);
         }
       }
     }
@@ -526,13 +526,13 @@ public class TListSentryPrivilegesForProviderResponse implements org.apache.thri
       struct.status.read(iprot);
       struct.setStatusIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set61 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.privileges = new HashSet<String>(2*_set61.size);
-        for (int _i62 = 0; _i62 < _set61.size; ++_i62)
+        org.apache.thrift.protocol.TSet _set85 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.privileges = new HashSet<String>(2*_set85.size);
+        for (int _i86 = 0; _i86 < _set85.size; ++_i86)
         {
-          String _elem63; // required
-          _elem63 = iprot.readString();
-          struct.privileges.add(_elem63);
+          String _elem87; // required
+          _elem87 = iprot.readString();
+          struct.privileges.add(_elem87);
         }
       }
       struct.setPrivilegesIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesResponse.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesResponse.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesResponse.java
index d34205a..7540519 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesResponse.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryPrivilegesResponse.java
@@ -444,14 +444,14 @@ public class TListSentryPrivilegesResponse implements org.apache.thrift.TBase<TL
           case 2: // PRIVILEGES
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set32 = iprot.readSetBegin();
-                struct.privileges = new HashSet<TSentryPrivilege>(2*_set32.size);
-                for (int _i33 = 0; _i33 < _set32.size; ++_i33)
+                org.apache.thrift.protocol.TSet _set56 = iprot.readSetBegin();
+                struct.privileges = new HashSet<TSentryPrivilege>(2*_set56.size);
+                for (int _i57 = 0; _i57 < _set56.size; ++_i57)
                 {
-                  TSentryPrivilege _elem34; // required
-                  _elem34 = new TSentryPrivilege();
-                  _elem34.read(iprot);
-                  struct.privileges.add(_elem34);
+                  TSentryPrivilege _elem58; // required
+                  _elem58 = new TSentryPrivilege();
+                  _elem58.read(iprot);
+                  struct.privileges.add(_elem58);
                 }
                 iprot.readSetEnd();
               }
@@ -483,9 +483,9 @@ public class TListSentryPrivilegesResponse implements org.apache.thrift.TBase<TL
           oprot.writeFieldBegin(PRIVILEGES_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.privileges.size()));
-            for (TSentryPrivilege _iter35 : struct.privileges)
+            for (TSentryPrivilege _iter59 : struct.privileges)
             {
-              _iter35.write(oprot);
+              _iter59.write(oprot);
             }
             oprot.writeSetEnd();
           }
@@ -518,9 +518,9 @@ public class TListSentryPrivilegesResponse implements org.apache.thrift.TBase<TL
       if (struct.isSetPrivileges()) {
         {
           oprot.writeI32(struct.privileges.size());
-          for (TSentryPrivilege _iter36 : struct.privileges)
+          for (TSentryPrivilege _iter60 : struct.privileges)
           {
-            _iter36.write(oprot);
+            _iter60.write(oprot);
           }
         }
       }
@@ -535,14 +535,14 @@ public class TListSentryPrivilegesResponse implements org.apache.thrift.TBase<TL
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TSet _set37 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.privileges = new HashSet<TSentryPrivilege>(2*_set37.size);
-          for (int _i38 = 0; _i38 < _set37.size; ++_i38)
+          org.apache.thrift.protocol.TSet _set61 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.privileges = new HashSet<TSentryPrivilege>(2*_set61.size);
+          for (int _i62 = 0; _i62 < _set61.size; ++_i62)
           {
-            TSentryPrivilege _elem39; // required
-            _elem39 = new TSentryPrivilege();
-            _elem39.read(iprot);
-            struct.privileges.add(_elem39);
+            TSentryPrivilege _elem63; // required
+            _elem63 = new TSentryPrivilege();
+            _elem63.read(iprot);
+            struct.privileges.add(_elem63);
           }
         }
         struct.setPrivilegesIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryRolesResponse.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryRolesResponse.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryRolesResponse.java
index 13f22ff..2439645 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryRolesResponse.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TListSentryRolesResponse.java
@@ -444,14 +444,14 @@ public class TListSentryRolesResponse implements org.apache.thrift.TBase<TListSe
           case 2: // ROLES
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set24 = iprot.readSetBegin();
-                struct.roles = new HashSet<TSentryRole>(2*_set24.size);
-                for (int _i25 = 0; _i25 < _set24.size; ++_i25)
+                org.apache.thrift.protocol.TSet _set48 = iprot.readSetBegin();
+                struct.roles = new HashSet<TSentryRole>(2*_set48.size);
+                for (int _i49 = 0; _i49 < _set48.size; ++_i49)
                 {
-                  TSentryRole _elem26; // required
-                  _elem26 = new TSentryRole();
-                  _elem26.read(iprot);
-                  struct.roles.add(_elem26);
+                  TSentryRole _elem50; // required
+                  _elem50 = new TSentryRole();
+                  _elem50.read(iprot);
+                  struct.roles.add(_elem50);
                 }
                 iprot.readSetEnd();
               }
@@ -483,9 +483,9 @@ public class TListSentryRolesResponse implements org.apache.thrift.TBase<TListSe
           oprot.writeFieldBegin(ROLES_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.roles.size()));
-            for (TSentryRole _iter27 : struct.roles)
+            for (TSentryRole _iter51 : struct.roles)
             {
-              _iter27.write(oprot);
+              _iter51.write(oprot);
             }
             oprot.writeSetEnd();
           }
@@ -518,9 +518,9 @@ public class TListSentryRolesResponse implements org.apache.thrift.TBase<TListSe
       if (struct.isSetRoles()) {
         {
           oprot.writeI32(struct.roles.size());
-          for (TSentryRole _iter28 : struct.roles)
+          for (TSentryRole _iter52 : struct.roles)
           {
-            _iter28.write(oprot);
+            _iter52.write(oprot);
           }
         }
       }
@@ -535,14 +535,14 @@ public class TListSentryRolesResponse implements org.apache.thrift.TBase<TListSe
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TSet _set29 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.roles = new HashSet<TSentryRole>(2*_set29.size);
-          for (int _i30 = 0; _i30 < _set29.size; ++_i30)
+          org.apache.thrift.protocol.TSet _set53 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.roles = new HashSet<TSentryRole>(2*_set53.size);
+          for (int _i54 = 0; _i54 < _set53.size; ++_i54)
           {
-            TSentryRole _elem31; // required
-            _elem31 = new TSentryRole();
-            _elem31.read(iprot);
-            struct.roles.add(_elem31);
+            TSentryRole _elem55; // required
+            _elem55 = new TSentryRole();
+            _elem55.read(iprot);
+            struct.roles.add(_elem55);
           }
         }
         struct.setRolesIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryActiveRoleSet.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryActiveRoleSet.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryActiveRoleSet.java
index 573dc26..10b421d 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryActiveRoleSet.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryActiveRoleSet.java
@@ -443,13 +443,13 @@ public class TSentryActiveRoleSet implements org.apache.thrift.TBase<TSentryActi
           case 2: // ROLES
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set40 = iprot.readSetBegin();
-                struct.roles = new HashSet<String>(2*_set40.size);
-                for (int _i41 = 0; _i41 < _set40.size; ++_i41)
+                org.apache.thrift.protocol.TSet _set64 = iprot.readSetBegin();
+                struct.roles = new HashSet<String>(2*_set64.size);
+                for (int _i65 = 0; _i65 < _set64.size; ++_i65)
                 {
-                  String _elem42; // required
-                  _elem42 = iprot.readString();
-                  struct.roles.add(_elem42);
+                  String _elem66; // required
+                  _elem66 = iprot.readString();
+                  struct.roles.add(_elem66);
                 }
                 iprot.readSetEnd();
               }
@@ -478,9 +478,9 @@ public class TSentryActiveRoleSet implements org.apache.thrift.TBase<TSentryActi
         oprot.writeFieldBegin(ROLES_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.roles.size()));
-          for (String _iter43 : struct.roles)
+          for (String _iter67 : struct.roles)
           {
-            oprot.writeString(_iter43);
+            oprot.writeString(_iter67);
           }
           oprot.writeSetEnd();
         }
@@ -506,9 +506,9 @@ public class TSentryActiveRoleSet implements org.apache.thrift.TBase<TSentryActi
       oprot.writeBool(struct.all);
       {
         oprot.writeI32(struct.roles.size());
-        for (String _iter44 : struct.roles)
+        for (String _iter68 : struct.roles)
         {
-          oprot.writeString(_iter44);
+          oprot.writeString(_iter68);
         }
       }
     }
@@ -519,13 +519,13 @@ public class TSentryActiveRoleSet implements org.apache.thrift.TBase<TSentryActi
       struct.all = iprot.readBool();
       struct.setAllIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set45 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.roles = new HashSet<String>(2*_set45.size);
-        for (int _i46 = 0; _i46 < _set45.size; ++_i46)
+        org.apache.thrift.protocol.TSet _set69 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.roles = new HashSet<String>(2*_set69.size);
+        for (int _i70 = 0; _i70 < _set69.size; ++_i70)
         {
-          String _elem47; // required
-          _elem47 = iprot.readString();
-          struct.roles.add(_elem47);
+          String _elem71; // required
+          _elem71 = iprot.readString();
+          struct.roles.add(_elem71);
         }
       }
       struct.setRolesIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryAuthorizable.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryAuthorizable.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryAuthorizable.java
index 59418a3..9923961 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryAuthorizable.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryAuthorizable.java
@@ -38,6 +38,7 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
   private static final org.apache.thrift.protocol.TField URI_FIELD_DESC = new org.apache.thrift.protocol.TField("uri", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField DB_FIELD_DESC = new org.apache.thrift.protocol.TField("db", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField COLUMN_FIELD_DESC = new org.apache.thrift.protocol.TField("column", org.apache.thrift.protocol.TType.STRING, (short)5);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -49,13 +50,15 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
   private String uri; // optional
   private String db; // optional
   private String table; // optional
+  private String column; // 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 {
     SERVER((short)1, "server"),
     URI((short)2, "uri"),
     DB((short)3, "db"),
-    TABLE((short)4, "table");
+    TABLE((short)4, "table"),
+    COLUMN((short)5, "column");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -78,6 +81,8 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
           return DB;
         case 4: // TABLE
           return TABLE;
+        case 5: // COLUMN
+          return COLUMN;
         default:
           return null;
       }
@@ -118,7 +123,7 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
   }
 
   // isset id assignments
-  private _Fields optionals[] = {_Fields.URI,_Fields.DB,_Fields.TABLE};
+  private _Fields optionals[] = {_Fields.URI,_Fields.DB,_Fields.TABLE,_Fields.COLUMN};
   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);
@@ -130,6 +135,8 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.COLUMN, new org.apache.thrift.meta_data.FieldMetaData("column", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TSentryAuthorizable.class, metaDataMap);
   }
@@ -160,6 +167,9 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
     if (other.isSetTable()) {
       this.table = other.table;
     }
+    if (other.isSetColumn()) {
+      this.column = other.column;
+    }
   }
 
   public TSentryAuthorizable deepCopy() {
@@ -172,6 +182,7 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
     this.uri = null;
     this.db = null;
     this.table = null;
+    this.column = null;
   }
 
   public String getServer() {
@@ -266,6 +277,29 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
     }
   }
 
+  public String getColumn() {
+    return this.column;
+  }
+
+  public void setColumn(String column) {
+    this.column = column;
+  }
+
+  public void unsetColumn() {
+    this.column = null;
+  }
+
+  /** Returns true if field column is set (has been assigned a value) and false otherwise */
+  public boolean isSetColumn() {
+    return this.column != null;
+  }
+
+  public void setColumnIsSet(boolean value) {
+    if (!value) {
+      this.column = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case SERVER:
@@ -300,6 +334,14 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
       }
       break;
 
+    case COLUMN:
+      if (value == null) {
+        unsetColumn();
+      } else {
+        setColumn((String)value);
+      }
+      break;
+
     }
   }
 
@@ -317,6 +359,9 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
     case TABLE:
       return getTable();
 
+    case COLUMN:
+      return getColumn();
+
     }
     throw new IllegalStateException();
   }
@@ -336,6 +381,8 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
       return isSetDb();
     case TABLE:
       return isSetTable();
+    case COLUMN:
+      return isSetColumn();
     }
     throw new IllegalStateException();
   }
@@ -389,6 +436,15 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
         return false;
     }
 
+    boolean this_present_column = true && this.isSetColumn();
+    boolean that_present_column = true && that.isSetColumn();
+    if (this_present_column || that_present_column) {
+      if (!(this_present_column && that_present_column))
+        return false;
+      if (!this.column.equals(that.column))
+        return false;
+    }
+
     return true;
   }
 
@@ -416,6 +472,11 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
     if (present_table)
       builder.append(table);
 
+    boolean present_column = true && (isSetColumn());
+    builder.append(present_column);
+    if (present_column)
+      builder.append(column);
+
     return builder.toHashCode();
   }
 
@@ -467,6 +528,16 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetColumn()).compareTo(typedOther.isSetColumn());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetColumn()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.column, typedOther.column);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -524,6 +595,16 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
       }
       first = false;
     }
+    if (isSetColumn()) {
+      if (!first) sb.append(", ");
+      sb.append("column:");
+      if (this.column == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.column);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -603,6 +684,14 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 5: // COLUMN
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.column = iprot.readString();
+              struct.setColumnIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -642,6 +731,13 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
           oprot.writeFieldEnd();
         }
       }
+      if (struct.column != null) {
+        if (struct.isSetColumn()) {
+          oprot.writeFieldBegin(COLUMN_FIELD_DESC);
+          oprot.writeString(struct.column);
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -670,7 +766,10 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
       if (struct.isSetTable()) {
         optionals.set(2);
       }
-      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetColumn()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
       if (struct.isSetUri()) {
         oprot.writeString(struct.uri);
       }
@@ -680,6 +779,9 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
       if (struct.isSetTable()) {
         oprot.writeString(struct.table);
       }
+      if (struct.isSetColumn()) {
+        oprot.writeString(struct.column);
+      }
     }
 
     @Override
@@ -687,7 +789,7 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.server = iprot.readString();
       struct.setServerIsSet(true);
-      BitSet incoming = iprot.readBitSet(3);
+      BitSet incoming = iprot.readBitSet(4);
       if (incoming.get(0)) {
         struct.uri = iprot.readString();
         struct.setUriIsSet(true);
@@ -700,6 +802,10 @@ public class TSentryAuthorizable implements org.apache.thrift.TBase<TSentryAutho
         struct.table = iprot.readString();
         struct.setTableIsSet(true);
       }
+      if (incoming.get(3)) {
+        struct.column = iprot.readString();
+        struct.setColumnIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilege.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilege.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilege.java
index dbe96ff..1f75478 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilege.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilege.java
@@ -42,6 +42,7 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
   private static final org.apache.thrift.protocol.TField ACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("action", org.apache.thrift.protocol.TType.STRING, (short)7);
   private static final org.apache.thrift.protocol.TField CREATE_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createTime", org.apache.thrift.protocol.TType.I64, (short)8);
   private static final org.apache.thrift.protocol.TField GRANT_OPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("grantOption", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField COLUMN_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("columnName", org.apache.thrift.protocol.TType.STRING, (short)10);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -57,6 +58,7 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
   private String action; // required
   private long createTime; // optional
   private TSentryGrantOption grantOption; // optional
+  private String columnName; // 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 {
@@ -71,7 +73,8 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
      * 
      * @see TSentryGrantOption
      */
-    GRANT_OPTION((short)9, "grantOption");
+    GRANT_OPTION((short)9, "grantOption"),
+    COLUMN_NAME((short)10, "columnName");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -102,6 +105,8 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
           return CREATE_TIME;
         case 9: // GRANT_OPTION
           return GRANT_OPTION;
+        case 10: // COLUMN_NAME
+          return COLUMN_NAME;
         default:
           return null;
       }
@@ -144,7 +149,7 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
   // isset id assignments
   private static final int __CREATETIME_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.DB_NAME,_Fields.TABLE_NAME,_Fields.URI,_Fields.CREATE_TIME,_Fields.GRANT_OPTION};
+  private _Fields optionals[] = {_Fields.DB_NAME,_Fields.TABLE_NAME,_Fields.URI,_Fields.CREATE_TIME,_Fields.GRANT_OPTION,_Fields.COLUMN_NAME};
   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);
@@ -164,6 +169,8 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.GRANT_OPTION, new org.apache.thrift.meta_data.FieldMetaData("grantOption", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TSentryGrantOption.class)));
+    tmpMap.put(_Fields.COLUMN_NAME, new org.apache.thrift.meta_data.FieldMetaData("columnName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TSentryPrivilege.class, metaDataMap);
   }
@@ -179,6 +186,8 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
 
     this.grantOption = org.apache.sentry.provider.db.service.thrift.TSentryGrantOption.FALSE;
 
+    this.columnName = "";
+
   }
 
   public TSentryPrivilege(
@@ -219,6 +228,9 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
     if (other.isSetGrantOption()) {
       this.grantOption = other.grantOption;
     }
+    if (other.isSetColumnName()) {
+      this.columnName = other.columnName;
+    }
   }
 
   public TSentryPrivilege deepCopy() {
@@ -241,6 +253,8 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
     this.createTime = 0;
     this.grantOption = org.apache.sentry.provider.db.service.thrift.TSentryGrantOption.FALSE;
 
+    this.columnName = "";
+
   }
 
   public String getPrivilegeScope() {
@@ -434,6 +448,29 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
     }
   }
 
+  public String getColumnName() {
+    return this.columnName;
+  }
+
+  public void setColumnName(String columnName) {
+    this.columnName = columnName;
+  }
+
+  public void unsetColumnName() {
+    this.columnName = null;
+  }
+
+  /** Returns true if field columnName is set (has been assigned a value) and false otherwise */
+  public boolean isSetColumnName() {
+    return this.columnName != null;
+  }
+
+  public void setColumnNameIsSet(boolean value) {
+    if (!value) {
+      this.columnName = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case PRIVILEGE_SCOPE:
@@ -500,6 +537,14 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
       }
       break;
 
+    case COLUMN_NAME:
+      if (value == null) {
+        unsetColumnName();
+      } else {
+        setColumnName((String)value);
+      }
+      break;
+
     }
   }
 
@@ -529,6 +574,9 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
     case GRANT_OPTION:
       return getGrantOption();
 
+    case COLUMN_NAME:
+      return getColumnName();
+
     }
     throw new IllegalStateException();
   }
@@ -556,6 +604,8 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
       return isSetCreateTime();
     case GRANT_OPTION:
       return isSetGrantOption();
+    case COLUMN_NAME:
+      return isSetColumnName();
     }
     throw new IllegalStateException();
   }
@@ -645,6 +695,15 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
         return false;
     }
 
+    boolean this_present_columnName = true && this.isSetColumnName();
+    boolean that_present_columnName = true && that.isSetColumnName();
+    if (this_present_columnName || that_present_columnName) {
+      if (!(this_present_columnName && that_present_columnName))
+        return false;
+      if (!this.columnName.equals(that.columnName))
+        return false;
+    }
+
     return true;
   }
 
@@ -692,6 +751,11 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
     if (present_grantOption)
       builder.append(grantOption.getValue());
 
+    boolean present_columnName = true && (isSetColumnName());
+    builder.append(present_columnName);
+    if (present_columnName)
+      builder.append(columnName);
+
     return builder.toHashCode();
   }
 
@@ -783,6 +847,16 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetColumnName()).compareTo(typedOther.isSetColumnName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetColumnName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.columnName, typedOther.columnName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -872,6 +946,16 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
       }
       first = false;
     }
+    if (isSetColumnName()) {
+      if (!first) sb.append(", ");
+      sb.append("columnName:");
+      if (this.columnName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.columnName);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -993,6 +1077,14 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 10: // COLUMN_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.columnName = iprot.readString();
+              struct.setColumnNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1054,6 +1146,13 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
           oprot.writeFieldEnd();
         }
       }
+      if (struct.columnName != null) {
+        if (struct.isSetColumnName()) {
+          oprot.writeFieldBegin(COLUMN_NAME_FIELD_DESC);
+          oprot.writeString(struct.columnName);
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1090,7 +1189,10 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
       if (struct.isSetGrantOption()) {
         optionals.set(4);
       }
-      oprot.writeBitSet(optionals, 5);
+      if (struct.isSetColumnName()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
       if (struct.isSetDbName()) {
         oprot.writeString(struct.dbName);
       }
@@ -1106,6 +1208,9 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
       if (struct.isSetGrantOption()) {
         oprot.writeI32(struct.grantOption.getValue());
       }
+      if (struct.isSetColumnName()) {
+        oprot.writeString(struct.columnName);
+      }
     }
 
     @Override
@@ -1117,7 +1222,7 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
       struct.setServerNameIsSet(true);
       struct.action = iprot.readString();
       struct.setActionIsSet(true);
-      BitSet incoming = iprot.readBitSet(5);
+      BitSet incoming = iprot.readBitSet(6);
       if (incoming.get(0)) {
         struct.dbName = iprot.readString();
         struct.setDbNameIsSet(true);
@@ -1138,6 +1243,10 @@ public class TSentryPrivilege implements org.apache.thrift.TBase<TSentryPrivileg
         struct.grantOption = TSentryGrantOption.findByValue(iprot.readI32());
         struct.setGrantOptionIsSet(true);
       }
+      if (incoming.get(5)) {
+        struct.columnName = iprot.readString();
+        struct.setColumnNameIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilegeMap.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilegeMap.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilegeMap.java
index 50b4979..e7beee1 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilegeMap.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryPrivilegeMap.java
@@ -359,26 +359,26 @@ public class TSentryPrivilegeMap implements org.apache.thrift.TBase<TSentryPrivi
           case 1: // PRIVILEGE_MAP
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map64 = iprot.readMapBegin();
-                struct.privilegeMap = new HashMap<String,Set<TSentryPrivilege>>(2*_map64.size);
-                for (int _i65 = 0; _i65 < _map64.size; ++_i65)
+                org.apache.thrift.protocol.TMap _map88 = iprot.readMapBegin();
+                struct.privilegeMap = new HashMap<String,Set<TSentryPrivilege>>(2*_map88.size);
+                for (int _i89 = 0; _i89 < _map88.size; ++_i89)
                 {
-                  String _key66; // required
-                  Set<TSentryPrivilege> _val67; // required
-                  _key66 = iprot.readString();
+                  String _key90; // required
+                  Set<TSentryPrivilege> _val91; // required
+                  _key90 = iprot.readString();
                   {
-                    org.apache.thrift.protocol.TSet _set68 = iprot.readSetBegin();
-                    _val67 = new HashSet<TSentryPrivilege>(2*_set68.size);
-                    for (int _i69 = 0; _i69 < _set68.size; ++_i69)
+                    org.apache.thrift.protocol.TSet _set92 = iprot.readSetBegin();
+                    _val91 = new HashSet<TSentryPrivilege>(2*_set92.size);
+                    for (int _i93 = 0; _i93 < _set92.size; ++_i93)
                     {
-                      TSentryPrivilege _elem70; // required
-                      _elem70 = new TSentryPrivilege();
-                      _elem70.read(iprot);
-                      _val67.add(_elem70);
+                      TSentryPrivilege _elem94; // required
+                      _elem94 = new TSentryPrivilege();
+                      _elem94.read(iprot);
+                      _val91.add(_elem94);
                     }
                     iprot.readSetEnd();
                   }
-                  struct.privilegeMap.put(_key66, _val67);
+                  struct.privilegeMap.put(_key90, _val91);
                 }
                 iprot.readMapEnd();
               }
@@ -404,14 +404,14 @@ public class TSentryPrivilegeMap implements org.apache.thrift.TBase<TSentryPrivi
         oprot.writeFieldBegin(PRIVILEGE_MAP_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, struct.privilegeMap.size()));
-          for (Map.Entry<String, Set<TSentryPrivilege>> _iter71 : struct.privilegeMap.entrySet())
+          for (Map.Entry<String, Set<TSentryPrivilege>> _iter95 : struct.privilegeMap.entrySet())
           {
-            oprot.writeString(_iter71.getKey());
+            oprot.writeString(_iter95.getKey());
             {
-              oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, _iter71.getValue().size()));
-              for (TSentryPrivilege _iter72 : _iter71.getValue())
+              oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, _iter95.getValue().size()));
+              for (TSentryPrivilege _iter96 : _iter95.getValue())
               {
-                _iter72.write(oprot);
+                _iter96.write(oprot);
               }
               oprot.writeSetEnd();
             }
@@ -439,14 +439,14 @@ public class TSentryPrivilegeMap implements org.apache.thrift.TBase<TSentryPrivi
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.privilegeMap.size());
-        for (Map.Entry<String, Set<TSentryPrivilege>> _iter73 : struct.privilegeMap.entrySet())
+        for (Map.Entry<String, Set<TSentryPrivilege>> _iter97 : struct.privilegeMap.entrySet())
         {
-          oprot.writeString(_iter73.getKey());
+          oprot.writeString(_iter97.getKey());
           {
-            oprot.writeI32(_iter73.getValue().size());
-            for (TSentryPrivilege _iter74 : _iter73.getValue())
+            oprot.writeI32(_iter97.getValue().size());
+            for (TSentryPrivilege _iter98 : _iter97.getValue())
             {
-              _iter74.write(oprot);
+              _iter98.write(oprot);
             }
           }
         }
@@ -457,25 +457,25 @@ public class TSentryPrivilegeMap implements org.apache.thrift.TBase<TSentryPrivi
     public void read(org.apache.thrift.protocol.TProtocol prot, TSentryPrivilegeMap struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TMap _map75 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, iprot.readI32());
-        struct.privilegeMap = new HashMap<String,Set<TSentryPrivilege>>(2*_map75.size);
-        for (int _i76 = 0; _i76 < _map75.size; ++_i76)
+        org.apache.thrift.protocol.TMap _map99 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, iprot.readI32());
+        struct.privilegeMap = new HashMap<String,Set<TSentryPrivilege>>(2*_map99.size);
+        for (int _i100 = 0; _i100 < _map99.size; ++_i100)
         {
-          String _key77; // required
-          Set<TSentryPrivilege> _val78; // required
-          _key77 = iprot.readString();
+          String _key101; // required
+          Set<TSentryPrivilege> _val102; // required
+          _key101 = iprot.readString();
           {
-            org.apache.thrift.protocol.TSet _set79 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            _val78 = new HashSet<TSentryPrivilege>(2*_set79.size);
-            for (int _i80 = 0; _i80 < _set79.size; ++_i80)
+            org.apache.thrift.protocol.TSet _set103 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            _val102 = new HashSet<TSentryPrivilege>(2*_set103.size);
+            for (int _i104 = 0; _i104 < _set103.size; ++_i104)
             {
-              TSentryPrivilege _elem81; // required
-              _elem81 = new TSentryPrivilege();
-              _elem81.read(iprot);
-              _val78.add(_elem81);
+              TSentryPrivilege _elem105; // required
+              _elem105 = new TSentryPrivilege();
+              _elem105.read(iprot);
+              _val102.add(_elem105);
             }
           }
-          struct.privilegeMap.put(_key77, _val78);
+          struct.privilegeMap.put(_key101, _val102);
         }
       }
       struct.setPrivilegeMapIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryRole.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryRole.java b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryRole.java
index f43a6d5..7645e25 100644
--- a/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryRole.java
+++ b/sentry-provider/sentry-provider-db/src/gen/thrift/gen-javabean/org/apache/sentry/provider/db/service/thrift/TSentryRole.java
@@ -528,14 +528,14 @@ public class TSentryRole implements org.apache.thrift.TBase<TSentryRole, TSentry
           case 2: // GROUPS
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set16 = iprot.readSetBegin();
-                struct.groups = new HashSet<TSentryGroup>(2*_set16.size);
-                for (int _i17 = 0; _i17 < _set16.size; ++_i17)
+                org.apache.thrift.protocol.TSet _set40 = iprot.readSetBegin();
+                struct.groups = new HashSet<TSentryGroup>(2*_set40.size);
+                for (int _i41 = 0; _i41 < _set40.size; ++_i41)
                 {
-                  TSentryGroup _elem18; // required
-                  _elem18 = new TSentryGroup();
-                  _elem18.read(iprot);
-                  struct.groups.add(_elem18);
+                  TSentryGroup _elem42; // required
+                  _elem42 = new TSentryGroup();
+                  _elem42.read(iprot);
+                  struct.groups.add(_elem42);
                 }
                 iprot.readSetEnd();
               }
@@ -574,9 +574,9 @@ public class TSentryRole implements org.apache.thrift.TBase<TSentryRole, TSentry
         oprot.writeFieldBegin(GROUPS_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.groups.size()));
-          for (TSentryGroup _iter19 : struct.groups)
+          for (TSentryGroup _iter43 : struct.groups)
           {
-            _iter19.write(oprot);
+            _iter43.write(oprot);
           }
           oprot.writeSetEnd();
         }
@@ -607,9 +607,9 @@ public class TSentryRole implements org.apache.thrift.TBase<TSentryRole, TSentry
       oprot.writeString(struct.roleName);
       {
         oprot.writeI32(struct.groups.size());
-        for (TSentryGroup _iter20 : struct.groups)
+        for (TSentryGroup _iter44 : struct.groups)
         {
-          _iter20.write(oprot);
+          _iter44.write(oprot);
         }
       }
       oprot.writeString(struct.grantorPrincipal);
@@ -621,14 +621,14 @@ public class TSentryRole implements org.apache.thrift.TBase<TSentryRole, TSentry
       struct.roleName = iprot.readString();
       struct.setRoleNameIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set21 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.groups = new HashSet<TSentryGroup>(2*_set21.size);
-        for (int _i22 = 0; _i22 < _set21.size; ++_i22)
+        org.apache.thrift.protocol.TSet _set45 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.groups = new HashSet<TSentryGroup>(2*_set45.size);
+        for (int _i46 = 0; _i46 < _set45.size; ++_i46)
         {
-          TSentryGroup _elem23; // required
-          _elem23 = new TSentryGroup();
-          _elem23.read(iprot);
-          struct.groups.add(_elem23);
+          TSentryGroup _elem47; // required
+          _elem47 = new TSentryGroup();
+          _elem47.read(iprot);
+          struct.groups.add(_elem47);
         }
       }
       struct.setGroupsIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/13e83d6e/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/log/entity/AuditMetadataLogEntity.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/log/entity/AuditMetadataLogEntity.java b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/log/entity/AuditMetadataLogEntity.java
index e1d8a9e..6b63045 100644
--- a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/log/entity/AuditMetadataLogEntity.java
+++ b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/log/entity/AuditMetadataLogEntity.java
@@ -46,6 +46,7 @@ public class AuditMetadataLogEntity implements JsonLogEntity {
   private String allowed;
   private String databaseName;
   private String tableName;
+  private String columnName;
   private String resourcePath;
   private String objectType;
 
@@ -55,8 +56,8 @@ public class AuditMetadataLogEntity implements JsonLogEntity {
   public AuditMetadataLogEntity(String serviceName, String userName,
       String impersonator, String ipAddress, String operation,
       String eventTime, String operationText, String allowed,
-      String databaseName, String tableName, String resourcePath,
-      String objectType) {
+      String databaseName, String tableName, String columnName,
+      String resourcePath, String objectType) {
     this.serviceName = serviceName;
     this.userName = userName;
     this.impersonator = impersonator;
@@ -67,6 +68,7 @@ public class AuditMetadataLogEntity implements JsonLogEntity {
     this.allowed = allowed;
     this.databaseName = databaseName;
     this.tableName = tableName;
+    this.columnName = columnName;
     this.resourcePath = resourcePath;
     this.objectType = objectType;
   }
@@ -88,6 +90,7 @@ public class AuditMetadataLogEntity implements JsonLogEntity {
       json.writeStringField(Constants.LOG_FIELD_ALLOWED, allowed);
       json.writeStringField(Constants.LOG_FIELD_DATABASE_NAME, databaseName);
       json.writeStringField(Constants.LOG_FIELD_TABLE_NAME, tableName);
+      json.writeStringField(Constants.LOG_FIELD_COLUMN_NAME, columnName);
       json.writeStringField(Constants.LOG_FIELD_RESOURCE_PATH, resourcePath);
       json.writeStringField(Constants.LOG_FIELD_OBJECT_TYPE, objectType);
       json.writeEndObject();
@@ -191,6 +194,14 @@ public class AuditMetadataLogEntity implements JsonLogEntity {
     this.tableName = tableName;
   }
 
+  public String getColumnName() {
+    return columnName;
+  }
+
+  public void setColumnName(String columnName) {
+    this.columnName = columnName;
+  }
+
   public String getResourcePath() {
     return resourcePath;
   }