Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources Sanity Check Index DDL scrips
Package source Package body source

RHN_CACHE

DDL script

Package source

Legend: comment string keyword reserved word operator
     1: package
     2: rhn_cache
     3: is
     4: 	version varchar2(100) := '$Id: universe.satellite.sql,v 1.2 2008/06/09 08:37:56 mmraka Exp $';
     5: 	procedure update_perms_for_server(
     6: 		server_id_in in number
     7: 	);
     8: 	procedure update_perms_for_user(
     9: 		user_id_in in number
    10: 	);
    11: 	procedure update_perms_for_server_group(
    12: 		server_group_id_in in number
    13: 	);
    14: end rhn_cache;

Package body source

Legend: comment string keyword reserved word operator
     1: package body
     2: rhn_cache
     3: is
     4: 	body_version varchar2(100) := '$Id: universe.satellite.sql,v 1.2 2008/06/09 08:37:56 mmraka Exp $';
     5: 	procedure update_perms_for_server(
     6: 		server_id_in in number
     7: 	) is
     8: 	begin
     9: 		delete from rhnUserServerPerms where server_id = server_id_in;
    10: 		insert into rhnUserServerPerms(user_id, server_id) (
    11: 				select	distinct user_id, server_id_in
    12: 				from	rhnUserServerPermsDupes
    13: 				where	server_id = server_id_in
    14: 			);
    15: 	end update_perms_for_server;
    16: 	procedure update_perms_for_user(
    17: 		user_id_in in number
    18: 	) is
    19: 	begin
    20:         delete from rhnUserServerPerms
    21:         where user_id = user_id_in
    22:             and server_id in
    23:             (select server_id
    24:              from rhnUserServerPerms
    25:              where user_id = user_id_in
    26:              minus
    27:              select server_id
    28:              from rhnUserServerPermsDupes uspd
    29:              where uspd.user_id = user_id_in);
    30:         insert into rhnUserServerPerms (user_id, server_id)
    31:         select distinct user_id_in, server_id
    32:         from rhnUserServerPermsDupes uspd
    33:         where uspd.user_id = user_id_in
    34:             and not exists
    35:             (select 1
    36:              from rhnUserServerPerms usp
    37:              where usp.user_id = user_id_in
    38:                  and usp.server_id = uspd.server_id);
    39: 	end update_perms_for_user;
    40: 	procedure update_perms_for_server_group(
    41: 		server_group_id_in in number
    42: 	) is
    43: 		cursor users is
    44: 			select	usgp.user_id id
    45: 			from	rhnUserServerGroupPerms usgp
    46: 			where	usgp.server_group_id = server_group_id_in
    47: 				and not exists (
    48: 					select	1
    49: 					from	rhnUserGroup ug,
    50: 							rhnUserGroupMembers ugm,
    51: 							rhnServerGroup sg,
    52: 							rhnUserGroupType ugt
    53: 					where	ugt.label = 'org_admin'
    54: 						and sg.id = server_group_id_in
    55: 						and ugm.user_id = usgp.user_id
    56: 						and ug.org_id = sg.org_id
    57: 						and ugm.user_group_id = ug.id
    58: 					);
    59: 	begin
    60: 		for u in users loop
    61: 			update_perms_for_user(u.id);
    62: 		end loop;
    63: 	end update_perms_for_server_group;
    64: end rhn_cache;