| >>obey TEST137(set_up); |
| >>prepare get_roles from |
| +>select substring (auth_db_name,1,20) as role_name |
| +>from "_MD_".AUTHS |
| +>where auth_db_name like 'LIBRARY%' |
| +>order by 1 |
| +>for read uncommitted access; |
| |
| --- SQL command prepared. |
| >> |
| >>prepare get_components from |
| +>select substring (component_name,1,20) as component, |
| +> substring (component_description,1,30) as description |
| +>from trafodion."_PRIVMGR_MD_".components |
| +>where component_name like 'LIBRARY%' |
| +>order by 1 |
| +>for read uncommitted access; |
| |
| --- SQL command prepared. |
| >> |
| >>prepare get_component_operations from |
| +>select substring (c.component_name,1,20) as component, |
| +> substring (o.operation_name,1,20) as operation_name, |
| +> substring (o.operation_code,1,2) as operation_code |
| +>from trafodion."_PRIVMGR_MD_".component_operations o, |
| +> trafodion."_PRIVMGR_MD_".components c |
| +>where (component_name like 'LIBRARY%' and |
| +> c.component_uid = o.component_uid) |
| +>order by 1,2, 3 |
| +>for read uncommitted access; |
| |
| --- SQL command prepared. |
| >> |
| >>prepare get_priv_desc from |
| +>select substring (component_name,1,20) as component, |
| +> substring (operation_name,1,20) as operation_name, |
| +> substring (grantee_name,1,20) as grantee_name, |
| +> grant_depth as grant_depth |
| +>from trafodion."_PRIVMGR_MD_".components c, |
| +> trafodion."_PRIVMGR_MD_".component_operations p, |
| +> trafodion."_PRIVMGR_MD_".component_privileges d |
| +>where c.component_uid = p.component_uid |
| +> and p.operation_code = d.operation_code |
| +> and p.component_uid = d.component_uid |
| +> and c.component_name like 'LIBRARY%' |
| +>order by 1, 2, d.grantee_name, grant_depth |
| +>for read uncommitted access; |
| |
| --- SQL command prepared. |
| >> |
| >>obey TEST137(create_db); |
| >>create role md_access; |
| |
| --- SQL operation complete. |
| >>grant select on "_MD_".auths to md_access; |
| |
| --- SQL operation complete. |
| >>grant select on "_PRIVMGR_MD_".components to md_access; |
| |
| --- SQL operation complete. |
| >>grant select on "_PRIVMGR_MD_".component_operations to md_access; |
| |
| --- SQL operation complete. |
| >>grant select on "_PRIVMGR_MD_".component_privileges to md_access; |
| |
| --- SQL operation complete. |
| >>grant role md_access to sql_user1, sql_user4, sql_user5; |
| |
| --- SQL operation complete. |
| >> |
| >>create shared schema t137; |
| |
| --- SQL operation complete. |
| >>set schema t137; |
| |
| --- SQL operation complete. |
| >> |
| >>create role library_admin; |
| |
| --- SQL operation complete. |
| >>grant role library_admin to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant role library_admin to sql_user2; |
| |
| --- SQL operation complete. |
| >>create role library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >>grant role library_ckout_clerks to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant role library_ckout_clerks to sql_user2; |
| |
| --- SQL operation complete. |
| >>grant role library_ckout_clerks to sql_user3, sql_user4, sql_user5; |
| |
| --- SQL operation complete. |
| >> |
| >>create table books |
| +> (book_name varchar (50) not null, |
| +> book_id largeint primary key not null, |
| +> book_author varchar (50) not null, |
| +> book_type int not null); |
| |
| --- SQL operation complete. |
| >> |
| >>--grant all on books to library_admin; |
| >>--grant select, update on bools to library_ckout_clerks; |
| >>grant select on books to public; |
| |
| --- SQL operation complete. |
| >>grant all on books to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant select on books to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant update on books to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant select on books to sql_user2; |
| |
| --- SQL operation complete. |
| >>grant update on books to sql_user2; |
| |
| --- SQL operation complete. |
| >>grant select on books to sql_user6; |
| |
| --- SQL operation complete. |
| >>grant select on books to sql_user7; |
| |
| --- SQL operation complete. |
| >>grant select on books to sql_user8; |
| |
| --- SQL operation complete. |
| >> |
| >>create table library_users |
| +> (user_name varchar (50) not null, |
| +> user_id int primary key not null, |
| +> user_details varchar (50) not null); |
| |
| --- SQL operation complete. |
| >> |
| >>--grant all on library_users to library_admin; |
| >>grant all on library_users to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant select on library_users to sql_user6; |
| |
| --- SQL operation complete. |
| >>grant select on library_users to sql_user7; |
| |
| --- SQL operation complete. |
| >>grant select on library_users to sql_user8; |
| |
| --- SQL operation complete. |
| >>--grant select on library_users to library_ckout_clerk; |
| >> |
| >>showddl role library_admin; |
| |
| CREATE ROLE "LIBRARY_ADMIN"; |
| -- GRANT ROLE "LIBRARY_ADMIN" TO "DB__ROOT" WITH ADMIN OPTION; |
| GRANT ROLE |
| "LIBRARY_ADMIN" TO "SQL_USER1"; |
| GRANT ROLE "LIBRARY_ADMIN" TO "SQL_USER2"; |
| |
| --- SQL operation complete. |
| >>showddl role library_ckout_clerks; |
| |
| CREATE ROLE "LIBRARY_CKOUT_CLERKS"; |
| -- GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO "DB__ROOT" WITH ADMIN OPTION; |
| GRANT |
| ROLE "LIBRARY_CKOUT_CLERKS" TO "SQL_USER1"; |
| GRANT ROLE "LIBRARY_CKOUT_CLERKS" |
| TO "SQL_USER2"; |
| GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO "SQL_USER3"; |
| GRANT ROLE |
| "LIBRARY_CKOUT_CLERKS" TO "SQL_USER4"; |
| GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO |
| "SQL_USER5"; |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST137(register_components); |
| >>register component Library_books; |
| |
| --- SQL operation complete. |
| >>register component library_accounts detail 'Test component 2'; |
| |
| --- SQL operation complete. |
| >>register component library_users detail 'Test component 3'; |
| |
| --- SQL operation complete. |
| >>-- should be 3 rows |
| >>execute get_components; |
| |
| COMPONENT DESCRIPTION |
| -------------------- ------------------------------ |
| |
| LIBRARY_ACCOUNTS TEST COMPONENT 2 |
| LIBRARY_BOOKS |
| LIBRARY_USERS TEST COMPONENT 3 |
| |
| --- 3 row(s) selected. |
| >> |
| >>-- fails with a syntax error |
| >>register component user; |
| |
| *** ERROR[15001] A syntax error occurred at or before: |
| register component user; |
| ^ (23 characters from start of SQL statement) |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>register component abi**def; |
| |
| *** ERROR[15001] A syntax error occurred at or before: |
| register component abi**def; |
| ^ (24 characters from start of SQL statement) |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- fails with component already registered |
| >>register component library_books; |
| |
| *** ERROR[1055] Object LIBRARY_BOOKS already exists. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- unregister a component that has not been defined |
| >>unregister component library_clerks; |
| |
| *** ERROR[1004] Object LIBRARY_CLERKS does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- a successful unregister |
| >>register component library_clerks; |
| |
| --- SQL operation complete. |
| >>-- should be 4 rows |
| >>execute get_components; |
| |
| COMPONENT DESCRIPTION |
| -------------------- ------------------------------ |
| |
| LIBRARY_ACCOUNTS TEST COMPONENT 2 |
| LIBRARY_BOOKS |
| LIBRARY_CLERKS |
| LIBRARY_USERS TEST COMPONENT 3 |
| |
| --- 4 row(s) selected. |
| >>unregister component library_clerks; |
| |
| --- SQL operation complete. |
| >>-- should return 3 rows |
| >>execute get_components; |
| |
| COMPONENT DESCRIPTION |
| -------------------- ------------------------------ |
| |
| LIBRARY_ACCOUNTS TEST COMPONENT 2 |
| LIBRARY_BOOKS |
| LIBRARY_USERS TEST COMPONENT 3 |
| |
| --- 3 row(s) selected. |
| >> |
| >>obey TEST137(create_privs); |
| >>-- create component privileges for library_books: |
| >>create component privilege lib_manage_checkouts as 'MC' on library_books; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_view_checkouts as 'VC' on library_books |
| +> detail 'Can see checkout information'; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_view_repository as 'VR' on library_books; |
| |
| --- SQL operation complete. |
| >> |
| >>-- create component privileges for library_accounts: |
| >>create component privilege lib_manage_overdue as 'MO' on library_accounts |
| +> detail 'Can handle tasks to manage overdue books'; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_view_checkouts as 'VC' on library_accounts; |
| |
| --- SQL operation complete. |
| >> |
| >>-- create component privileges for library_users: |
| >>create component privilege lib_manage_users as 'MU' on library_users; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_view_users as 'VU' on library_users; |
| |
| --- SQL operation complete. |
| >> |
| >>-- should return 7 rows |
| >>execute get_component_operations; |
| |
| COMPONENT OPERATION_NAME OPERATION_CODE |
| -------------------- -------------------- -------------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE MO |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS MC |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY VR |
| LIBRARY_USERS LIB_MANAGE_USERS MU |
| LIBRARY_USERS LIB_VIEW_USERS VU |
| |
| --- 7 row(s) selected. |
| >> |
| >>-- error: component does not exist |
| >>create component privilege lib_misc as 'MI' on library_xxxx; |
| |
| *** ERROR[1004] Object LIBRARY_XXXX does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- error: privilege already defined |
| >>create component privilege lib_manage_users as 'MA' on library_users; |
| |
| *** ERROR[1357] Cannot create the component privilege specified. Component privilege name LIB_MANAGE_USERS for the component already exists. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- error: privilege type already defined |
| >>create component privilege lib_misc as 'MU' on library_users; |
| |
| *** ERROR[1356] Cannot create the component privilege specified. Component privilege code MU for the component already exists. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>obey TEST137(grant_revoke_priv_desc); |
| >>grant component privilege lib_manage_checkouts, |
| +> lib_view_checkouts, |
| +> lib_view_repository |
| +> on library_books to library_admin; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_manage_checkouts, |
| +> lib_view_checkouts, |
| +> lib_view_repository |
| +> on library_books to sql_user1 with grant option; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_checkouts, |
| +> lib_view_repository |
| +> on library_books to library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_repository |
| +> on library_books to public; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user5; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user6; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user7; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user8; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_manage_overdue, lib_view_checkouts |
| +> on library_accounts to library_admin; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_manage_overdue, lib_view_checkouts |
| +> on library_accounts to sql_user2 with grant option; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_checkouts |
| +> on library_accounts to library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_manage_users, lib_view_users |
| +> on library_users to library_admin; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_manage_users, lib_view_users |
| +> on library_users to sql_user3 with grant option; |
| |
| --- SQL operation complete. |
| >> |
| >>-- should return 7 rows |
| >>execute get_component_operations; |
| |
| COMPONENT OPERATION_NAME OPERATION_CODE |
| -------------------- -------------------- -------------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE MO |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS MC |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY VR |
| LIBRARY_USERS LIB_MANAGE_USERS MU |
| LIBRARY_USERS LIB_VIEW_USERS VU |
| |
| --- 7 row(s) selected. |
| >> |
| >>-- should return 28 rows |
| >>execute get_priv_desc; |
| |
| COMPONENT OPERATION_NAME GRANTEE_NAME GRANT_DEPTH |
| -------------------- -------------------- -------------------------------------------------------------------------------- ----------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE SQL_USER2 -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS SQL_USER2 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY PUBLIC 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER5 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER6 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER7 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER8 0 |
| LIBRARY_USERS LIB_MANAGE_USERS DB__ROOT -1 |
| LIBRARY_USERS LIB_MANAGE_USERS LIBRARY_ADMIN 0 |
| LIBRARY_USERS LIB_MANAGE_USERS SQL_USER3 -1 |
| LIBRARY_USERS LIB_VIEW_USERS DB__ROOT -1 |
| LIBRARY_USERS LIB_VIEW_USERS LIBRARY_ADMIN 0 |
| LIBRARY_USERS LIB_VIEW_USERS SQL_USER3 -1 |
| |
| --- 29 row(s) selected. |
| >> |
| >>-- grant privileges already granted |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user6; |
| |
| --- SQL operation complete. |
| >> |
| >>-- should return 7 rows |
| >>execute get_component_operations; |
| |
| COMPONENT OPERATION_NAME OPERATION_CODE |
| -------------------- -------------------- -------------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE MO |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS MC |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY VR |
| LIBRARY_USERS LIB_MANAGE_USERS MU |
| LIBRARY_USERS LIB_VIEW_USERS VU |
| |
| --- 7 row(s) selected. |
| >> |
| >>-- add WGO |
| >>-- should return 28 rows, sql_user6 should be WGO |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user6 with grant option; |
| |
| --- SQL operation complete. |
| >>execute get_priv_desc; |
| |
| COMPONENT OPERATION_NAME GRANTEE_NAME GRANT_DEPTH |
| -------------------- -------------------- -------------------------------------------------------------------------------- ----------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE SQL_USER2 -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS SQL_USER2 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY PUBLIC 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER5 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER6 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER7 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER8 0 |
| LIBRARY_USERS LIB_MANAGE_USERS DB__ROOT -1 |
| LIBRARY_USERS LIB_MANAGE_USERS LIBRARY_ADMIN 0 |
| LIBRARY_USERS LIB_MANAGE_USERS SQL_USER3 -1 |
| LIBRARY_USERS LIB_VIEW_USERS DB__ROOT -1 |
| LIBRARY_USERS LIB_VIEW_USERS LIBRARY_ADMIN 0 |
| LIBRARY_USERS LIB_VIEW_USERS SQL_USER3 -1 |
| |
| --- 29 row(s) selected. |
| >> |
| >>-- make sure it is not taken away |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user6; |
| |
| --- SQL operation complete. |
| >>-- returns 28 rows, sql_user6 still has WGO as Y |
| >>execute get_priv_desc; |
| |
| COMPONENT OPERATION_NAME GRANTEE_NAME GRANT_DEPTH |
| -------------------- -------------------- -------------------------------------------------------------------------------- ----------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE SQL_USER2 -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS SQL_USER2 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY PUBLIC 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER5 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER6 -1 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER7 0 |
| LIBRARY_BOOKS LIB_VIEW_REPOSITORY SQL_USER8 0 |
| LIBRARY_USERS LIB_MANAGE_USERS DB__ROOT -1 |
| LIBRARY_USERS LIB_MANAGE_USERS LIBRARY_ADMIN 0 |
| LIBRARY_USERS LIB_MANAGE_USERS SQL_USER3 -1 |
| LIBRARY_USERS LIB_VIEW_USERS DB__ROOT -1 |
| LIBRARY_USERS LIB_VIEW_USERS LIBRARY_ADMIN 0 |
| LIBRARY_USERS LIB_VIEW_USERS SQL_USER3 -1 |
| |
| --- 29 row(s) selected. |
| >> |
| >>-- error unknown component |
| >>grant component privilege lib_view_repository on library_xxxx to sql_user9; |
| |
| *** ERROR[1004] Object LIBRARY_XXXX does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- error: unknown privilege |
| >>grant component privilege lib_view_xxx on library_books to sql_user9; |
| |
| *** ERROR[1194] Component operation LIB_VIEW_XXX does not exist for component LIBRARY_BOOKS |
| |
| --- SQL operation failed with errors. |
| >>grant component privilege lib_view_checkouts, |
| +> lib_view_repository, |
| +> lib_view_xxx |
| +> on library_books to sql_user9; |
| |
| *** ERROR[1194] Component operation LIB_VIEW_XXX does not exist for component LIBRARY_BOOKS |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- error: grant to unknown user or role |
| >>grant component privilege lib_view_repository on library_books to authid_xxxx; |
| |
| *** ERROR[1008] Authorization identifier AUTHID_XXXX does not exist. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- success: grant to a role WGO |
| >>grant component privilege lib_view_repository |
| +> on library_books to DB__ROOTROLE with grant option; |
| |
| --- SQL operation complete. |
| >>revoke grant option for component privilege lib_view_repository |
| +> on library_books from DB__ROOTROLE; |
| |
| --- SQL operation complete. |
| >>revoke component privilege lib_view_repository |
| +> on library_books from DB__ROOTROLE; |
| |
| --- SQL operation complete. |
| >> |
| >>-- error: specify the same privilege twice |
| >>grant component privilege lib_view_repository, |
| +> lib_view_repository |
| +> on library_books to DB__ROOTROLE; |
| |
| *** ERROR[3170] Duplicate component privileges were specified. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>obey TEST137(drop_privs); |
| >>drop component privilege lib_view_repository on library_books cascade; |
| |
| --- SQL operation complete. |
| >>-- returns 6 rows |
| >>execute get_component_operations; |
| |
| COMPONENT OPERATION_NAME OPERATION_CODE |
| -------------------- -------------------- -------------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE MO |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS MC |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_USERS LIB_MANAGE_USERS MU |
| LIBRARY_USERS LIB_VIEW_USERS VU |
| |
| --- 6 row(s) selected. |
| >> |
| >>-- unregister component gets rid of priivleges |
| >>unregister component library_users cascade; |
| |
| --- SQL operation complete. |
| >>-- returns 4 rows |
| >>execute get_component_operations; |
| |
| COMPONENT OPERATION_NAME OPERATION_CODE |
| -------------------- -------------------- -------------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE MO |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS MC |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS VC |
| |
| --- 4 row(s) selected. |
| >>-- returns 2 rows |
| >>execute get_components; |
| |
| COMPONENT DESCRIPTION |
| -------------------- ------------------------------ |
| |
| LIBRARY_ACCOUNTS TEST COMPONENT 2 |
| LIBRARY_BOOKS |
| |
| --- 2 row(s) selected. |
| >> |
| >>-- error: unknown component |
| >>drop component privilege lib_view_repository on library_xxxx; |
| |
| *** ERROR[1004] Object LIBRARY_XXXX does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- error unknown privilege |
| >>drop component privilege lib_view_xxxx on library_books; |
| |
| *** ERROR[1004] Object LIB_VIEW_XXXX does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >> |
| >>log; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER1 |
| |
| --- 1 row(s) selected. |
| >>-- These tests should succeed |
| >>execute get_component_operations; |
| |
| COMPONENT OPERATION_NAME OPERATION_CODE |
| -------------------- -------------------- -------------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE MO |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS VC |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS MC |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS VC |
| |
| --- 4 row(s) selected. |
| >>grant component privilege lib_view_checkouts on library_books to sql_user4 |
| +> with grant option; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_manage_checkouts on library_books to sql_user5; |
| |
| --- SQL operation complete. |
| >>-- returns 16 rows |
| >>execute get_priv_desc; |
| |
| COMPONENT OPERATION_NAME GRANTEE_NAME GRANT_DEPTH |
| -------------------- -------------------- -------------------------------------------------------------------------------- ----------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE SQL_USER2 -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS SQL_USER2 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER5 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER4 -1 |
| |
| --- 16 row(s) selected. |
| >> |
| >>-- These tests should fail |
| >>register component library_other; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>create component privilege lib_other as 'LO' on library_books; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>--revoke component privilege lib_manage_checkouts |
| >>-- on library_books from library_admin; |
| >>--revoke component privilege lib_view_repository |
| >>-- on library_books from sql_user6; |
| >>log; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER4 |
| |
| --- 1 row(s) selected. |
| >>-- these tests should succeed |
| >>grant component privilege lib_view_checkouts on library_books to sql_user6; |
| |
| --- SQL operation complete. |
| >>execute get_priv_desc; |
| |
| COMPONENT OPERATION_NAME GRANTEE_NAME GRANT_DEPTH |
| -------------------- -------------------- -------------------------------------------------------------------------------- ----------- |
| |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_MANAGE_OVERDUE SQL_USER2 -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_ACCOUNTS LIB_VIEW_CHECKOUTS SQL_USER2 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_MANAGE_CHECKOUTS SQL_USER5 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS DB__ROOT -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_ADMIN 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS LIBRARY_CKOUT_CLERKS 0 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER1 -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER4 -1 |
| LIBRARY_BOOKS LIB_VIEW_CHECKOUTS SQL_USER6 0 |
| |
| --- 17 row(s) selected. |
| >>revoke component privilege lib_view_checkouts on library_books from sql_user6; |
| |
| --- SQL operation complete. |
| >> |
| >>-- these tests should fail |
| >>grant component privilege lib_manage_checkouts on library_books to sql_user6; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>log; |
| >>-- test getting component privileges through roles |
| >>obey TEST137(role_tests); |
| >>-- tests grants and revoke on roles owned by user work correctly |
| >>create role lib_role_test; |
| |
| --- SQL operation complete. |
| >> |
| >>-- user5_tests fail - user5 has no priv |
| >>grant component privilege lib_view_checkouts on library_books to lib_role_test with grant option; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST137(user5_tests)" -u sql_user5; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER5 |
| |
| --- 1 row(s) selected. |
| >>grant component privilege lib_view_repository on library_books to sql_user7; |
| |
| *** ERROR[1194] Component operation LIB_VIEW_REPOSITORY does not exist for component LIBRARY_BOOKS |
| |
| --- SQL operation failed with errors. |
| >>grant component privilege lib_view_checkouts on library_books to sql_user7; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>log; |
| >> |
| >>-- user5_tests for priv lib_view_checkouts succeeds, have privs through role |
| >>grant role lib_role_test to sql_user5; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST137(user5_tests)" -u sql_user5; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER5 |
| |
| --- 1 row(s) selected. |
| >>grant component privilege lib_view_repository on library_books to sql_user7; |
| |
| *** ERROR[1194] Component operation LIB_VIEW_REPOSITORY does not exist for component LIBRARY_BOOKS |
| |
| --- SQL operation failed with errors. |
| >>grant component privilege lib_view_checkouts on library_books to sql_user7; |
| |
| --- SQL operation complete. |
| >>log; |
| >>revoke component privilege lib_view_checkouts on library_books from lib_role_test; |
| |
| --- SQL operation complete. |
| >>revoke role lib_role_test from sql_user5; |
| |
| --- SQL operation complete. |
| >>drop role lib_role_test; |
| |
| --- SQL operation complete. |
| >> |
| >>-- user5_tests for priv lib_view_checkouts succeeds, have privs through DB__ROOTROLE |
| >>grant role db__rootrole to sql_user5; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST137(user5_tests)" -u sql_user5; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER5 |
| |
| --- 1 row(s) selected. |
| >>grant component privilege lib_view_repository on library_books to sql_user7; |
| |
| *** ERROR[1194] Component operation LIB_VIEW_REPOSITORY does not exist for component LIBRARY_BOOKS |
| |
| --- SQL operation failed with errors. |
| >>grant component privilege lib_view_checkouts on library_books to sql_user7; |
| |
| --- SQL operation complete. |
| >>log; |
| >>revoke role db__rootrole from sql_user5; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- test the SQL_OPERATIONS privilege |
| >>obey TEST137(operator_privs); |
| >>-- This section tests operation privileges: |
| >>-- Test environment |
| >>-- sql_user2 - has been granted library_admin role |
| >>-- sql_user3 - has been granted library_ckout_clerks role |
| >>-- sql_user6 - has been granted db__useradmin role |
| >>-- sql_user7 - will be granted/revoked SQL privileges |
| >>-- sql_user8 - no SQL privileges or roles with SQL privileges |
| >>-- db__root |
| >>-- db__useradmin - has implicit SQL privileges |
| >>-- library_admin - will be granted and revoked SQL privileges |
| >>-- library_ckout_clerks - no SQL privileges |
| >> |
| >>-- set up privileges |
| >>showddl role library_admin; |
| |
| CREATE ROLE "LIBRARY_ADMIN"; |
| -- GRANT ROLE "LIBRARY_ADMIN" TO "DB__ROOT" WITH ADMIN OPTION; |
| GRANT ROLE |
| "LIBRARY_ADMIN" TO "SQL_USER1"; |
| GRANT ROLE "LIBRARY_ADMIN" TO "SQL_USER2"; |
| |
| --- SQL operation complete. |
| >>showddl role library_ckout_clerks; |
| |
| CREATE ROLE "LIBRARY_CKOUT_CLERKS"; |
| -- GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO "DB__ROOT" WITH ADMIN OPTION; |
| GRANT |
| ROLE "LIBRARY_CKOUT_CLERKS" TO "SQL_USER1"; |
| GRANT ROLE "LIBRARY_CKOUT_CLERKS" |
| TO "SQL_USER2"; |
| GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO "SQL_USER3"; |
| GRANT ROLE |
| "LIBRARY_CKOUT_CLERKS" TO "SQL_USER4"; |
| GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO |
| "SQL_USER5"; |
| |
| --- SQL operation complete. |
| >>showddl component sql_operations; |
| |
| REGISTER COMPONENT SQL_OPERATIONS SYSTEM DETAIL 'Component for SQL operations'; |
| |
| CREATE COMPONENT PRIVILEGE ALTER AS 'A0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter database objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_ROUTINE_ACTION AS 'AA' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to alter routine actions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_TRIGGER AS 'AG' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter triggers'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_SCHEMA AS 'AH' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_LIBRARY AS 'AL' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_SEQUENCE AS 'AQ' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter sequence generators'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_ROUTINE AS 'AR' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter routines'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_TABLE AS 'AT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter tables'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_VIEW AS 'AV' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter views'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_SYNONYM AS 'AY' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter synonyms'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE AS 'C0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create database objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_ROUTINE_ACTION AS 'CA' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to create routine actions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_CATALOG AS 'CC' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create catalogs'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_TRIGGER AS 'CG' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create triggers'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_SCHEMA AS 'CH' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "PUBLIC"; |
| GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_INDEX AS 'CI' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create indexes'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_LIBRARY AS 'CL' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE COMMENT AS 'CO' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to comment on objects and columns'; |
| |
| -- GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_PROCEDURE AS 'CP' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create procedures'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_SEQUENCE AS 'CQ' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create sequence generators'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_ROUTINE AS 'CR' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create routines'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_TABLE AS 'CT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create tables'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_VIEW AS 'CV' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create views'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_SYNONYM AS 'CY' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create synonyms'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP AS 'D0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop database objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_ROUTINE_ACTION AS 'DA' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to drop routine actions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_CATALOG AS 'DC' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop catalogs'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_TRIGGER AS 'DG' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop triggers'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_SCHEMA AS 'DH' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_INDEX AS 'DI' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop indexes'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_LIBRARY AS 'DL' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_PROCEDURE AS 'DP' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to drop procedures'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_SEQUENCE AS 'DQ' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to drop sequence generators'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_ROUTINE AS 'DR' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop routines'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_TABLE AS 'DT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop tables'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_VIEW AS 'DV' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop views'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_SYNONYM AS 'DY' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop synonyms'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE AS 'M0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to manage all SQL Operations'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_COMPONENTS AS 'MC' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to manage components'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_LIBRARY AS 'ML' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to manage libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_PRIVILEGES AS 'MP' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to manage privileges on SQL objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_ROLES AS 'MR' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to manage roles'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_STATISTICS AS 'MS' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to show and update statistics'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_LOAD AS 'MT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to perform LOAD and UNLOAD commands'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_USERS AS 'MU' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to manage users'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_DELETE AS 'PD' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to delete rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_EXECUTE AS 'PE' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to execute functions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_USAGE AS 'PG' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to use libraries and sequences'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_INSERT AS 'PI' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to insert rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_REFERENCES AS 'PR' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to reference columns'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_SELECT AS 'PS' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to select rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_UPDATE AS 'PU' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to update rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE QUERY_ACTIVATE AS 'QA' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to activate queries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE QUERY_CANCEL AS 'QC' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to cancel queries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE QUERY_SUSPEND AS 'QS' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to suspend queries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE REGISTER_HIVE_OBJECT AS 'RH' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to register hive object in traf metadata'; |
| |
| -- GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE REMAP_USER AS 'RU' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to remap DB__ users to a different external username'; |
| |
| -- GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE SHOW AS 'SW' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to view metadata information about objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "PUBLIC"; |
| GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE USE_ALTERNATE_SCHEMA AS 'UA' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to use non-default schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE UNREGISTER_HIVE_OBJECT AS 'UH' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to unregister hive object from traf metadata'; |
| |
| -- GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| |
| --- SQL operation complete. |
| >> |
| >>-- user2 |
| >>-- Create operations fail |
| >>sh sh runmxci.ksh -i "TEST137(user2_cc)" -u sql_user2; |
| >>-- user2 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >>-- create catalog works |
| >>grant component privilege create_catalog on sql_operations to library_admin; |
| |
| --- SQL operation complete. |
| >>sh sh runmxci.ksh -i "TEST137(user2_cc)" -u sql_user2; |
| >>-- user2 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >>-- create catalog and create schema works |
| >>grant component privilege create_schema on sql_operations to library_admin; |
| |
| --- SQL operation complete. |
| >>sh sh runmxci.ksh -i "TEST137(user2_cc)" -u sql_user2; |
| >>-- user2 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >>-- create catalog fails |
| >>revoke component privilege create_catalog |
| +> on sql_operations from library_admin; |
| |
| --- SQL operation complete. |
| >>sh sh runmxci.ksh -i "TEST137(user2_cc)" -u sql_user2; |
| >>-- user2 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >>revoke component privilege create_schema |
| +> on sql_operations from library_admin; |
| |
| --- SQL operation complete. |
| >> |
| >>-- user3 (operation fail) |
| >>sh sh runmxci.ksh -i "TEST137(user3_cc)" -u sql_user3; |
| >>-- user3 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137sch; |
| >>log; |
| >> |
| >>-- user6 |
| >>-- operation fails |
| >>sh sh runmxci.ksh -i "TEST137(user6_cc)" -u sql_user6; |
| >>-- user6 requests |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >>-- operation works |
| >>grant role db__useradmin to sql_user6; |
| |
| *** ERROR[1338] Role DB__USERADMIN is not defined in the database. |
| |
| --- SQL operation failed with errors. |
| >>sh sh runmxci.ksh -i "TEST137(user6_cc)" -u sql_user6; |
| >>-- user6 requests |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >>-- operation fails |
| >>revoke role db__useradmin from sql_user6; |
| |
| *** ERROR[1338] Role DB__USERADMIN is not defined in the database. |
| |
| --- SQL operation failed with errors. |
| >>sh sh runmxci.ksh -i "TEST137(user6_cc)" -u sql_user6; |
| >>-- user6 requests |
| >>--create schema t137sch; |
| >>--drop schema t137sch cascade; |
| >>log; |
| >> |
| >>-- user7 |
| >>-- fails |
| >>sh sh runmxci.ksh -i "TEST137(user7_cc)" -u sql_user7; |
| >>-- user7 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>log; |
| >>-- works |
| >>grant component privilege create_catalog, create_schema |
| +> on sql_operations to sql_user7; |
| |
| --- SQL operation complete. |
| >>sh sh runmxci.ksh -i "TEST137(user7_cc)" -u sql_user7; |
| >>-- user7 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>log; |
| >>-- fails |
| >>revoke component privilege create_schema, create_catalog |
| +> on sql_operations from sql_user7; |
| |
| --- SQL operation complete. |
| >>sh sh runmxci.ksh -i "TEST137(user7_cc)" -u sql_user7; |
| >>-- user7 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137cat1.t137sch; |
| >>--drop schema t137cat1.t137sch; |
| >>--drop catalog t137cat1; |
| >>log; |
| >> |
| >>-- user8 (fails) |
| >>sh sh runmxci.ksh -i "TEST137(user8_cc)" -u sql_user8; |
| >>-- user8 requests |
| >>--create catalog t137cat1; |
| >>--create schema t137sch; |
| >>log; |
| >> |
| >>showddl component sql_operations; |
| |
| REGISTER COMPONENT SQL_OPERATIONS SYSTEM DETAIL 'Component for SQL operations'; |
| |
| CREATE COMPONENT PRIVILEGE ALTER AS 'A0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter database objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_ROUTINE_ACTION AS 'AA' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to alter routine actions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_TRIGGER AS 'AG' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter triggers'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_SCHEMA AS 'AH' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_LIBRARY AS 'AL' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_SEQUENCE AS 'AQ' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter sequence generators'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_ROUTINE AS 'AR' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter routines'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_TABLE AS 'AT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter tables'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_VIEW AS 'AV' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to alter views'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE ALTER_SYNONYM AS 'AY' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to alter synonyms'; |
| |
| -- GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE AS 'C0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create database objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_ROUTINE_ACTION AS 'CA' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to create routine actions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_CATALOG AS 'CC' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create catalogs'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_TRIGGER AS 'CG' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create triggers'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_SCHEMA AS 'CH' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "PUBLIC"; |
| GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_INDEX AS 'CI' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create indexes'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_LIBRARY AS 'CL' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE COMMENT AS 'CO' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to comment on objects and columns'; |
| |
| -- GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_PROCEDURE AS 'CP' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create procedures'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_SEQUENCE AS 'CQ' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create sequence generators'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_ROUTINE AS 'CR' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create routines'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_TABLE AS 'CT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create tables'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_VIEW AS 'CV' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to create views'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE CREATE_SYNONYM AS 'CY' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to create synonyms'; |
| |
| -- GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP AS 'D0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop database objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_ROUTINE_ACTION AS 'DA' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to drop routine actions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_CATALOG AS 'DC' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop catalogs'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_TRIGGER AS 'DG' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop triggers'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_SCHEMA AS 'DH' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_INDEX AS 'DI' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop indexes'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_LIBRARY AS 'DL' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_PROCEDURE AS 'DP' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to drop procedures'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_SEQUENCE AS 'DQ' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to drop sequence generators'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_ROUTINE AS 'DR' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop routines'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_TABLE AS 'DT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop tables'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_VIEW AS 'DV' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop views'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DROP_SYNONYM AS 'DY' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to drop synonyms'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE AS 'M0' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to manage all SQL Operations'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_COMPONENTS AS 'MC' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to manage components'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_LIBRARY AS 'ML' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to manage libraries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_PRIVILEGES AS 'MP' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to manage privileges on SQL objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_ROLES AS 'MR' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to manage roles'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_STATISTICS AS 'MS' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to show and update statistics'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_LOAD AS 'MT' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to perform LOAD and UNLOAD commands'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE MANAGE_USERS AS 'MU' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to manage users'; |
| |
| -- GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_DELETE AS 'PD' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to delete rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_EXECUTE AS 'PE' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to execute functions'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_USAGE AS 'PG' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to use libraries and sequences'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_INSERT AS 'PI' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to insert rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_REFERENCES AS 'PR' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to reference columns'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_SELECT AS 'PS' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to select rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE DML_UPDATE AS 'PU' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to update rows'; |
| |
| -- GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE QUERY_ACTIVATE AS 'QA' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to activate queries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE QUERY_CANCEL AS 'QC' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to cancel queries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE QUERY_SUSPEND AS 'QS' ON SQL_OPERATIONS SYSTEM |
| DETAIL 'Allow grantee to suspend queries'; |
| |
| -- GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE REGISTER_HIVE_OBJECT AS 'RH' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to register hive object in traf metadata'; |
| |
| -- GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE REMAP_USER AS 'RU' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to remap DB__ users to a different external username'; |
| |
| -- GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" |
| WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE SHOW AS 'SW' ON SQL_OPERATIONS SYSTEM DETAIL |
| 'Allow grantee to view metadata information about objects'; |
| |
| -- GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "PUBLIC"; |
| GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH |
| GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE USE_ALTERNATE_SCHEMA AS 'UA' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to use non-default schemas'; |
| |
| -- GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| CREATE COMPONENT PRIVILEGE UNREGISTER_HIVE_OBJECT AS 'UH' ON SQL_OPERATIONS |
| SYSTEM DETAIL 'Allow grantee to unregister hive object from traf metadata'; |
| |
| -- GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION; |
| GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO |
| "DB__ROOTROLE" WITH GRANT OPTION; |
| |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>obey TEST137(clean_up); |
| >>-- remove component information |
| >>unregister component library_books cascade; |
| |
| --- SQL operation complete. |
| >>unregister component library_accounts cascade; |
| |
| --- SQL operation complete. |
| >>unregister component library_users cascade; |
| |
| *** ERROR[1004] Object LIBRARY_USERS does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >>unregister component library_other cascade; |
| |
| *** ERROR[1004] Object LIBRARY_OTHER does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >>execute get_component_operations; |
| |
| --- 0 row(s) selected. |
| >>execute get_components; |
| |
| --- 0 row(s) selected. |
| >>-- drop database |
| >>drop schema t137 cascade; |
| |
| --- SQL operation complete. |
| >> |
| >>drop component privilege lib_view_benefactors cascade; |
| |
| *** ERROR[15001] A syntax error occurred at or before: |
| drop component privilege lib_view_benefactors cascade; |
| ^ (53 characters from start of SQL statement) |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>unregister component library_fund_raisers cascade; |
| |
| *** ERROR[1004] Object LIBRARY_FUND_RAISERS does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>-- remove roles |
| >>revoke role library_admin from sql_user1; |
| |
| --- SQL operation complete. |
| >>revoke role library_admin from sql_user2; |
| |
| --- SQL operation complete. |
| >>drop role library_admin; |
| |
| --- SQL operation complete. |
| >> |
| >>revoke role library_ckout_clerks from sql_user1; |
| |
| --- SQL operation complete. |
| >>revoke role library_ckout_clerks from sql_user2; |
| |
| --- SQL operation complete. |
| >>revoke role library_ckout_clerks from sql_user3, sql_user4, sql_user5; |
| |
| --- SQL operation complete. |
| >>drop role library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >> |
| >>revoke component privilege lib_view_checkouts on library_books from lib_role_test; |
| |
| *** ERROR[1008] Authorization identifier LIB_ROLE_TEST does not exist. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>revoke role lib_role_test from sql_user5; |
| |
| *** ERROR[1338] Role LIB_ROLE_TEST is not defined in the database. |
| |
| --- SQL operation failed with errors. |
| >>revoke role db__rootrole from sql_user5; |
| |
| *** ERROR[1018] Grant of role or privilege DB__ROOTROLE from DB__ROOT to SQL_USER5 not found, revoke request ignored. |
| |
| --- SQL operation failed with errors. |
| >>drop role lib_role_test; |
| |
| *** ERROR[1338] Role LIB_ROLE_TEST is not defined in the database. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>revoke role md_access from sql_user1, sql_user4, sql_user5; |
| |
| --- SQL operation complete. |
| >>revoke select on "_MD_".auths from md_access; |
| |
| --- SQL operation complete. |
| >>revoke select on "_PRIVMGR_MD_".components from md_access; |
| |
| --- SQL operation complete. |
| >>revoke select on "_PRIVMGR_MD_".component_operations from md_access; |
| |
| --- SQL operation complete. |
| >>revoke select on "_PRIVMGR_MD_".component_privileges from md_access; |
| |
| --- SQL operation complete. |
| >>drop role md_access; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- run tests for revoke. |
| >>obey TEST137(revoke_comp_privs_setup); |
| >>cqd ALLOW_WGO_FOR_ROLES 'on'; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >>log LOG137; |
| >>create role library_admin; |
| |
| --- SQL operation complete. |
| >>grant role library_admin to sql_user1, sql_user2; |
| |
| --- SQL operation complete. |
| >>create role library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >>grant role library_ckout_clerks to sql_user1, sql_user2, sql_user3, sql_user4, sql_user5; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>register component Library_books; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_manage_checkouts as 'MC' on library_books; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_view_checkouts as 'VC' on library_books |
| +> detail 'Can see checkout information'; |
| |
| --- SQL operation complete. |
| >>create component privilege lib_view_repository as 'VR' on library_books; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_manage_checkouts, |
| +> lib_view_checkouts, |
| +> lib_view_repository |
| +> on library_books to library_admin; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_manage_checkouts, |
| +> lib_view_checkouts, |
| +> lib_view_repository |
| +> on library_books to sql_user1 with grant option; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_checkouts, |
| +> lib_view_repository |
| +> on library_books to library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user5; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user6; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user7; |
| |
| --- SQL operation complete. |
| >>grant component privilege lib_view_repository |
| +> on library_books to sql_user8; |
| |
| --- SQL operation complete. |
| >> |
| >>log; |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user2 with grant option; |
| |
| --- SQL operation complete. |
| >>log; |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user3 with grant option; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user1; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user5; |
| |
| --- SQL operation complete. |
| >>log; |
| >>grant component privilege lib_view_repository |
| +>on library_books to DB__ROOT with grant option; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user5; |
| |
| --- SQL operation complete. |
| >> |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user4 with grant option; |
| |
| --- SQL operation complete. |
| >>log; |
| >>grant component privilege lib_view_repository |
| +>on library_books to sql_user5; |
| |
| --- SQL operation complete. |
| >>log; |
| >>revoke component privilege lib_view_repository |
| +>on library_books from sql_user3; |
| |
| *** ERROR[1025] Request failed. Dependent object exists. |
| |
| --- SQL operation failed with errors. |
| >>log; |
| >>unregister component Library_books cascade; |
| |
| --- SQL operation complete. |
| >>revoke role library_admin from sql_user1, sql_user2; |
| |
| --- SQL operation complete. |
| >>revoke role library_ckout_clerks from sql_user1, sql_user2, sql_user3, sql_user4, sql_user5; |
| |
| --- SQL operation complete. |
| >>drop role library_admin; |
| |
| --- SQL operation complete. |
| >>drop role library_ckout_clerks; |
| |
| --- SQL operation complete. |
| >>log; |