Author: thejas
Date: Thu Feb 20 19:36:45 2014
New Revision: 1570323

URL: http://svn.apache.org/r1570323
Log:
HIVE-6422 : SQL std auth - revert change for view keyword in grant statement 
(Thejas Nair, reviewed by Ashutosh Chauhan)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
    hive/trunk/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q
    
hive/trunk/ql/src/test/results/clientpositive/authorization_view_sqlstd.q.out

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g?rev=1570323&r1=1570322&r2=1570323&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g 
(original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g Thu Feb 
20 19:36:45 2014
@@ -1424,7 +1424,6 @@ privObjectType
 @init {pushMsg("privilege object type type", state);}
 @after {popMsg(state);}
     : KW_DATABASE -> ^(TOK_DB_TYPE)
-    | KW_VIEW -> ^(TOK_TABLE_TYPE)
     | KW_TABLE? -> ^(TOK_TABLE_TYPE)
     ;
 

Modified: 
hive/trunk/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q?rev=1570323&r1=1570322&r2=1570323&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q 
(original)
+++ hive/trunk/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q 
Thu Feb 20 19:36:45 2014
@@ -1,3 +1,4 @@
+set hive.users.in.admin.role=hive_admin_user;
 set 
hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory;
 set 
hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator;
 set hive.security.authorization.enabled=true;
@@ -12,9 +13,10 @@ create view vt1 as select i,k from t1;
 create view vt2 as select * from t1 where i > 1;
 
 --view grant to user
+-- try with and without table keyword
 
-grant select on view vt1 to user user2;
-grant insert on view vt1 to user user3;
+grant select on vt1 to user user2;
+grant insert on table vt1 to user user3;
 
 show grant user user2 on table vt1;
 show grant user user3 on table vt1;
@@ -24,12 +26,28 @@ select * from vt1;
 
 set user.name=user1;
 
-grant all on view vt2 to user user2;
+grant all on table vt2 to user user2;
 show grant user user2 on table vt2;
 
-revoke all on view vt2 from user user2;
+revoke all on vt2 from user user2;
 show grant user user2 on table vt2;
 
-revoke select on view vt1 from user user2;
+revoke select on table vt1 from user user2;
 show grant user user2 on table vt1;
+
+-- grant privileges on roles for view, after next statement
 show grant user user3 on table vt1;
+
+set user.name=hive_admin_user;
+show current roles;
+set role ADMIN;
+create role role_v;
+grant  role_v to user user4 ;
+show role grant user user4;
+show roles;
+
+grant all on table vt2 to role role_v;
+show grant role role_v on table vt2;
+
+revoke delete on table vt2 from role role_v;
+show grant role role_v on table vt2;

Modified: 
hive/trunk/ql/src/test/results/clientpositive/authorization_view_sqlstd.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/authorization_view_sqlstd.q.out?rev=1570323&r1=1570322&r2=1570323&view=diff
==============================================================================
--- 
hive/trunk/ql/src/test/results/clientpositive/authorization_view_sqlstd.q.out 
(original)
+++ 
hive/trunk/ql/src/test/results/clientpositive/authorization_view_sqlstd.q.out 
Thu Feb 20 19:36:45 2014
@@ -24,19 +24,21 @@ POSTHOOK: type: CREATEVIEW
 POSTHOOK: Input: default@t1
 POSTHOOK: Output: default@vt2
 PREHOOK: query: --view grant to user
+-- try with and without table keyword
 
-grant select on view vt1 to user user2
+grant select on vt1 to user user2
 PREHOOK: type: GRANT_PRIVILEGE
 PREHOOK: Output: default@vt1
 POSTHOOK: query: --view grant to user
+-- try with and without table keyword
 
-grant select on view vt1 to user user2
+grant select on vt1 to user user2
 POSTHOOK: type: GRANT_PRIVILEGE
 POSTHOOK: Output: default@vt1
-PREHOOK: query: grant insert on view vt1 to user user3
+PREHOOK: query: grant insert on table vt1 to user user3
 PREHOOK: type: GRANT_PRIVILEGE
 PREHOOK: Output: default@vt1
-POSTHOOK: query: grant insert on view vt1 to user user3
+POSTHOOK: query: grant insert on table vt1 to user user3
 POSTHOOK: type: GRANT_PRIVILEGE
 POSTHOOK: Output: default@vt1
 PREHOOK: query: show grant user user2 on table vt1
@@ -59,10 +61,10 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1
 POSTHOOK: Input: default@vt1
 #### A masked pattern was here ####
-PREHOOK: query: grant all on view vt2 to user user2
+PREHOOK: query: grant all on table vt2 to user user2
 PREHOOK: type: GRANT_PRIVILEGE
 PREHOOK: Output: default@vt2
-POSTHOOK: query: grant all on view vt2 to user user2
+POSTHOOK: query: grant all on table vt2 to user user2
 POSTHOOK: type: GRANT_PRIVILEGE
 POSTHOOK: Output: default@vt2
 PREHOOK: query: show grant user user2 on table vt2
@@ -73,28 +75,89 @@ default     vt2                     user2   USER    DELETE  
false   -1
 default        vt2                     user2   USER    INSERT  false   -1      
user1
 default        vt2                     user2   USER    SELECT  false   -1      
user1
 default        vt2                     user2   USER    UPDATE  false   -1      
user1
-PREHOOK: query: revoke all on view vt2 from user user2
+PREHOOK: query: revoke all on vt2 from user user2
 PREHOOK: type: REVOKE_PRIVILEGE
 PREHOOK: Output: default@vt2
-POSTHOOK: query: revoke all on view vt2 from user user2
+POSTHOOK: query: revoke all on vt2 from user user2
 POSTHOOK: type: REVOKE_PRIVILEGE
 POSTHOOK: Output: default@vt2
 PREHOOK: query: show grant user user2 on table vt2
 PREHOOK: type: SHOW_GRANT
 POSTHOOK: query: show grant user user2 on table vt2
 POSTHOOK: type: SHOW_GRANT
-PREHOOK: query: revoke select on view vt1 from user user2
+PREHOOK: query: revoke select on table vt1 from user user2
 PREHOOK: type: REVOKE_PRIVILEGE
 PREHOOK: Output: default@vt1
-POSTHOOK: query: revoke select on view vt1 from user user2
+POSTHOOK: query: revoke select on table vt1 from user user2
 POSTHOOK: type: REVOKE_PRIVILEGE
 POSTHOOK: Output: default@vt1
 PREHOOK: query: show grant user user2 on table vt1
 PREHOOK: type: SHOW_GRANT
 POSTHOOK: query: show grant user user2 on table vt1
 POSTHOOK: type: SHOW_GRANT
-PREHOOK: query: show grant user user3 on table vt1
+PREHOOK: query: -- grant privileges on roles for view, after next statement
+show grant user user3 on table vt1
 PREHOOK: type: SHOW_GRANT
-POSTHOOK: query: show grant user user3 on table vt1
+POSTHOOK: query: -- grant privileges on roles for view, after next statement
+show grant user user3 on table vt1
 POSTHOOK: type: SHOW_GRANT
 default        vt1                     user3   USER    INSERT  false   -1      
user1
+PREHOOK: query: show current roles
+PREHOOK: type: SHOW_ROLES
+POSTHOOK: query: show current roles
+POSTHOOK: type: SHOW_ROLES
+PUBLIC
+
+PREHOOK: query: set role ADMIN
+PREHOOK: type: SHOW_ROLES
+POSTHOOK: query: set role ADMIN
+POSTHOOK: type: SHOW_ROLES
+PREHOOK: query: create role role_v
+PREHOOK: type: CREATEROLE
+POSTHOOK: query: create role role_v
+POSTHOOK: type: CREATEROLE
+PREHOOK: query: grant  role_v to user user4
+PREHOOK: type: GRANT_ROLE
+POSTHOOK: query: grant  role_v to user user4
+POSTHOOK: type: GRANT_ROLE
+PREHOOK: query: show role grant user user4
+PREHOOK: type: SHOW_ROLE_GRANT
+POSTHOOK: query: show role grant user user4
+POSTHOOK: type: SHOW_ROLE_GRANT
+PUBLIC -1                      false   -1      
+role_v -1      user4   USER    false   -1      hive_admin_user
+PREHOOK: query: show roles
+PREHOOK: type: SHOW_ROLES
+POSTHOOK: query: show roles
+POSTHOOK: type: SHOW_ROLES
+ADMIN
+PUBLIC
+role_v
+
+PREHOOK: query: grant all on table vt2 to role role_v
+PREHOOK: type: GRANT_PRIVILEGE
+PREHOOK: Output: default@vt2
+POSTHOOK: query: grant all on table vt2 to role role_v
+POSTHOOK: type: GRANT_PRIVILEGE
+POSTHOOK: Output: default@vt2
+PREHOOK: query: show grant role role_v on table vt2
+PREHOOK: type: SHOW_GRANT
+POSTHOOK: query: show grant role role_v on table vt2
+POSTHOOK: type: SHOW_GRANT
+default        vt2                     role_v  ROLE    DELETE  false   -1      
hive_admin_user
+default        vt2                     role_v  ROLE    INSERT  false   -1      
hive_admin_user
+default        vt2                     role_v  ROLE    SELECT  false   -1      
hive_admin_user
+default        vt2                     role_v  ROLE    UPDATE  false   -1      
hive_admin_user
+PREHOOK: query: revoke delete on table vt2 from role role_v
+PREHOOK: type: REVOKE_PRIVILEGE
+PREHOOK: Output: default@vt2
+POSTHOOK: query: revoke delete on table vt2 from role role_v
+POSTHOOK: type: REVOKE_PRIVILEGE
+POSTHOOK: Output: default@vt2
+PREHOOK: query: show grant role role_v on table vt2
+PREHOOK: type: SHOW_GRANT
+POSTHOOK: query: show grant role role_v on table vt2
+POSTHOOK: type: SHOW_GRANT
+default        vt2                     role_v  ROLE    INSERT  false   -1      
hive_admin_user
+default        vt2                     role_v  ROLE    SELECT  false   -1      
hive_admin_user
+default        vt2                     role_v  ROLE    UPDATE  false   -1      
hive_admin_user


Reply via email to