diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java index 6137983e..df1d6a74 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java @@ -421,8 +421,10 @@ public HivePrivilegeObjectType getObjectType() { (null, ADMIN_PRIV_AR)); op2Priv.put(HiveOperationType.ALTERDATABASE_OWNER, PrivRequirement.newIOPrivRequirement (null, ADMIN_PRIV_AR)); - op2Priv.put(HiveOperationType.ALTERDATABASE_LOCATION, PrivRequirement.newIOPrivRequirement -(null, ADMIN_PRIV_AR)); + op2Priv.put(HiveOperationType.ALTERDATABASE_LOCATION, PrivRequirement.newPrivRequirementList( + new PrivRequirement(ADMIN_PRIV_AR, HivePrivilegeObjectType.DATABASE), + new PrivRequirement(INS_SEL_DEL_NOGRANT_AR,HivePrivilegeObjectType.DFS_URI) + )); op2Priv.put(HiveOperationType.DESCDATABASE, PrivRequirement.newIOPrivRequirement (null, null)); op2Priv.put(HiveOperationType.DFS, PrivRequirement.newIOPrivRequirement