Author: thejas
Date: Mon Jul 28 21:20:36 2014
New Revision: 1614183
URL: http://svn.apache.org/r1614183
Log:
HIVE-7498 : NPE on show grant for global privilege (Navis via Thejas Nair)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
hive/trunk/ql/src/test/queries/clientpositive/authorization_9.q
hive/trunk/ql/src/test/results/clientpositive/authorization_9.q.out
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
URL:
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java?rev=1614183&r1=1614182&r2=1614183&view=diff
==============================================================================
---
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
(original)
+++
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
Mon Jul 28 21:20:36 2014
@@ -35,7 +35,9 @@ public class HivePrivilegeObject impleme
public int compareTo(HivePrivilegeObject o) {
int compare = type.compareTo(o.type);
if (compare == 0) {
- compare = dbname.compareTo(o.dbname);
+ compare = dbname != null ?
+ (o.dbname != null ? dbname.compareTo(o.dbname) : 1) :
+ (o.dbname != null ? -1 : 0);
}
if (compare == 0) {
compare = objectName != null ?
Modified: hive/trunk/ql/src/test/queries/clientpositive/authorization_9.q
URL:
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/authorization_9.q?rev=1614183&r1=1614182&r2=1614183&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/authorization_9.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/authorization_9.q Mon Jul 28
21:20:36 2014
@@ -2,6 +2,7 @@
create table dummy (key string, value string);
+grant select to user hive_test_user;
grant select on database default to user hive_test_user;
grant select on table dummy to user hive_test_user;
grant select (key, value) on table dummy to user hive_test_user;
@@ -10,16 +11,21 @@ show grant user hive_test_user on databa
show grant user hive_test_user on table dummy;
show grant user hive_test_user on all;
+grant select to user hive_test_user2;
grant select on database default to user hive_test_user2;
grant select on table dummy to user hive_test_user2;
grant select (key, value) on table dummy to user hive_test_user2;
show grant on all;
+show grant user hive_test_user on all;
+show grant user hive_test_user2 on all;
+revoke select from user hive_test_user;
revoke select on database default from user hive_test_user;
revoke select on table dummy from user hive_test_user;
revoke select (key, value) on table dummy from user hive_test_user;
+revoke select from user hive_test_user2;
revoke select on database default from user hive_test_user2;
revoke select on table dummy from user hive_test_user2;
revoke select (key, value) on table dummy from user hive_test_user2;
Modified: hive/trunk/ql/src/test/results/clientpositive/authorization_9.q.out
URL:
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/authorization_9.q.out?rev=1614183&r1=1614182&r2=1614183&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/authorization_9.q.out
(original)
+++ hive/trunk/ql/src/test/results/clientpositive/authorization_9.q.out Mon Jul
28 21:20:36 2014
@@ -9,6 +9,10 @@ create table dummy (key string, value st
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@dummy
+PREHOOK: query: grant select to user hive_test_user
+PREHOOK: type: GRANT_PRIVILEGE
+POSTHOOK: query: grant select to user hive_test_user
+POSTHOOK: type: GRANT_PRIVILEGE
PREHOOK: query: grant select on database default to user hive_test_user
PREHOOK: type: GRANT_PRIVILEGE
POSTHOOK: query: grant select on database default to user hive_test_user
@@ -39,10 +43,15 @@ PREHOOK: query: show grant user hive_tes
PREHOOK: type: SHOW_GRANT
POSTHOOK: query: show grant user hive_test_user on all
POSTHOOK: type: SHOW_GRANT
+ hive_test_user USER SELECT false -1
hive_test_user
default hive_test_user USER SELECT false
-1 hive_test_user
default dummy hive_test_user USER SELECT false
-1 hive_test_user
default dummy [key] hive_test_user USER SELECT false
-1 hive_test_user
default dummy [value] hive_test_user USER SELECT false
-1 hive_test_user
+PREHOOK: query: grant select to user hive_test_user2
+PREHOOK: type: GRANT_PRIVILEGE
+POSTHOOK: query: grant select to user hive_test_user2
+POSTHOOK: type: GRANT_PRIVILEGE
PREHOOK: query: grant select on database default to user hive_test_user2
PREHOOK: type: GRANT_PRIVILEGE
POSTHOOK: query: grant select on database default to user hive_test_user2
@@ -64,6 +73,8 @@ PREHOOK: type: SHOW_GRANT
POSTHOOK: query: show grant on all
POSTHOOK: type: SHOW_GRANT
admin ROLE ALL true -1 admin
+ hive_test_user USER SELECT false -1
hive_test_user
+ hive_test_user2 USER SELECT false -1
hive_test_user
default hive_test_user USER SELECT false
-1 hive_test_user
default hive_test_user2 USER SELECT false
-1 hive_test_user
default dummy hive_test_user USER SELECT false
-1 hive_test_user
@@ -72,6 +83,28 @@ default dummy [key] hive_test_user USER
default dummy [key] hive_test_user2 USER SELECT false
-1 hive_test_user
default dummy [value] hive_test_user USER SELECT false
-1 hive_test_user
default dummy [value] hive_test_user2 USER SELECT false
-1 hive_test_user
+PREHOOK: query: show grant user hive_test_user on all
+PREHOOK: type: SHOW_GRANT
+POSTHOOK: query: show grant user hive_test_user on all
+POSTHOOK: type: SHOW_GRANT
+ hive_test_user USER SELECT false -1
hive_test_user
+default hive_test_user USER SELECT false
-1 hive_test_user
+default dummy hive_test_user USER SELECT false
-1 hive_test_user
+default dummy [key] hive_test_user USER SELECT false
-1 hive_test_user
+default dummy [value] hive_test_user USER SELECT false
-1 hive_test_user
+PREHOOK: query: show grant user hive_test_user2 on all
+PREHOOK: type: SHOW_GRANT
+POSTHOOK: query: show grant user hive_test_user2 on all
+POSTHOOK: type: SHOW_GRANT
+ hive_test_user2 USER SELECT false -1
hive_test_user
+default hive_test_user2 USER SELECT false
-1 hive_test_user
+default dummy hive_test_user2 USER SELECT false
-1 hive_test_user
+default dummy [key] hive_test_user2 USER SELECT false
-1 hive_test_user
+default dummy [value] hive_test_user2 USER SELECT false
-1 hive_test_user
+PREHOOK: query: revoke select from user hive_test_user
+PREHOOK: type: REVOKE_PRIVILEGE
+POSTHOOK: query: revoke select from user hive_test_user
+POSTHOOK: type: REVOKE_PRIVILEGE
PREHOOK: query: revoke select on database default from user hive_test_user
PREHOOK: type: REVOKE_PRIVILEGE
POSTHOOK: query: revoke select on database default from user hive_test_user
@@ -88,6 +121,10 @@ PREHOOK: Output: default@dummy
POSTHOOK: query: revoke select (key, value) on table dummy from user
hive_test_user
POSTHOOK: type: REVOKE_PRIVILEGE
POSTHOOK: Output: default@dummy
+PREHOOK: query: revoke select from user hive_test_user2
+PREHOOK: type: REVOKE_PRIVILEGE
+POSTHOOK: query: revoke select from user hive_test_user2
+POSTHOOK: type: REVOKE_PRIVILEGE
PREHOOK: query: revoke select on database default from user hive_test_user2
PREHOOK: type: REVOKE_PRIVILEGE
POSTHOOK: query: revoke select on database default from user hive_test_user2