Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources Sanity Check Index DDL scrips
Arguments Source

DELETE_SERVER_BULK

Arguments:

NameData TypeDefault ValueIn/Out
USER_ID_INNUMBER(38) IN
DDL script

Source

Legend: comment string keyword reserved word operator
     1: procedure delete_server_bulk (
     2: 	user_id_in in number
     3: ) is
     4: 	cursor systems is
     5: 		select	s.element id
     6: 		from	rhnSet s
     7: 		where	s.user_id = user_id_in
     8: 			and s.label = 'system_list';
     9: 	cursor servergroups is
    10: 		select	sgm.server_group_id, sgm.server_id
    11: 		from	rhnServerGroupMembers sgm,
    12: 			rhnSet s
    13: 		where	s.user_id = user_id_in
    14: 			and s.label = 'system_list'
    15: 			and s.element = sgm.server_id;
    16: 	cursor configchannels is
    17: 		select	cc.id
    18: 		from	rhnConfigChannel cc,
    19: 			rhnConfigChannelType cct,
    20: 			rhnServerConfigChannel scc,
    21: 			rhnSet s
    22: 		where	1=1
    23: 			and s.user_id = user_id_in
    24: 			and s.label = 'system_list'
    25: 			and s.element = scc.server_id
    26: 			and scc.config_channel_id = cc.id
    27: 			and cct.label in
    28: 				('local_override','server_import')
    29: 			and cct.id = cc.confchan_type_id;
    30: 	cursor filelists is
    31: 		select	spfl.file_list_id id
    32: 		from	rhnServerPreserveFileList spfl,
    33: 			rhnSet s
    34: 		where	s.user_id = user_id_in
    35: 			and s.label = 'system_list'
    36: 			and s.element = spfl.server_id
    37: 			and not exists (
    38: 				select	1
    39: 				from	rhnKickstartPreserveFileList
    40: 				where	file_list_id = spfl.file_list_id
    41: 			)
    42: 			and not exists (
    43: 				select	spfl.server_id
    44: 				from	rhnServerPreserveFileList spfl,
    45: 					rhnServer s,
    46: 					web_contact u
    47: 				where	u.id = user_id_in
    48: 					and u.org_id = s.org_id
    49: 					and s.id = spfl.server_id
    50: 					and spfl.file_list_id = spfl.file_list_id
    51: 				minus
    52: 				select	element server_id
    53: 				from	rhnSet
    54: 				where	s.user_id = user_id_in
    55: 					and s.label = 'system_list'
    56: 			);
    57: 	cluster_id number;
    58:     is_virt number := 0;
    59: begin
    60: 	for filelist in filelists loop
    61: 		delete from rhnFileList where id = filelist.id;
    62: 	end loop;
    63: 	for cc in configchannels loop
    64: 		rhn_config.delete_channel(cc.id);
    65: 	end loop;
    66: 	for sgm in servergroups loop
    67:         begin
    68:           select 1 into is_virt
    69:             from rhnServerEntitlementView
    70:            where server_id = sgm.server_id
    71:              and label in ('virtualization_host', 'virtualization_host_platform');
    72:         exception
    73:           when no_data_found then
    74:             is_virt := 0;
    75:         end;
    76: 		rhn_server.delete_from_servergroup(
    77: 			sgm.server_id, sgm.server_group_id);
    78:         if is_virt = 1 then
    79:             rhn_entitlements.repoll_virt_guest_entitlements(sgm.server_id);
    80:         end if;
    81: 	end loop;
    82: 	for s in systems loop
    83: 		update rhnKickstartSession
    84: 			set old_server_id = null
    85: 			where old_server_id = s.id;
    86: 		update rhnKickstartSession
    87: 			set new_server_id = null
    88: 			where new_server_id = s.id;
    89: 		rhn_channel.clear_subscriptions(s.id,1);
    90:                 delete from rhnVirtualInstance
    91: 		      where host_system_id = s.id
    92: 		        and virtual_system_id is null;
    93:                 delete from rhnVirtualInstance
    94: 		      where virtual_system_id = s.id
    95: 		        and host_system_id is null;
    96: 		update rhnVirtualInstance
    97: 		    	set host_system_id = null
    98: 			where host_system_id = s.id;
    99: 		update rhnVirtualInstance
   100: 		    	set virtual_system_id = null
   101: 			where virtual_system_id = s.id;
   102: 		update rhnVirtualInstanceEventLog
   103: 		   set old_host_system_id = null
   104:  	         where old_host_system_id = s.id;
   105: 		update rhnVirtualInstanceEventLog
   106: 		   set new_host_system_id = null
   107:  	         where new_host_system_id = s.id;
   108: 		delete from rhnActionConfigChannel where server_id = s.id;
   109: 		delete from rhnActionConfigRevision where server_id = s.id;
   110: 		delete from rhnActionPackageRemovalFailure where server_id = s.id;
   111: 		delete from rhnChannelFamilyLicenseConsent where server_id = s.id;
   112: 		delete from rhnClientCapability where server_id = s.id;
   113: 		delete from rhnCpu where server_id = s.id;
   114: 		delete from rhnDevice where server_id = s.id;
   115: 		delete from rhnProxyInfo where server_id = s.id;
   116: 		delete from rhnRam where server_id = s.id;
   117: 		delete from rhnRegToken where server_id = s.id;
   118: 		delete from rhnSNPServerQueue where server_id = s.id;
   119: 		delete from rhnSatelliteChannelFamily where server_id = s.id;
   120: 		delete from rhnSatelliteInfo where server_id = s.id;
   121: 		delete from rhnServerAction where server_id = s.id;
   122: 		delete from rhnServerActionPackageResult where server_id = s.id;
   123: 		delete from rhnServerActionScriptResult where server_id = s.id;
   124: 		delete from rhnServerActionVerifyResult where server_id = s.id;
   125: 		delete from rhnServerActionVerifyMissing where server_id = s.id;
   126: 		delete from rhnServerChannel where server_id = s.id;
   127: 		delete from rhnServerConfigChannel where server_id = s.id;
   128: 		delete from rhnServerCustomDataValue where server_id = s.id;
   129: 		delete from rhnServerDMI where server_id = s.id;
   130: 		delete from rhnServerMessage where server_id = s.id;
   131: 		delete from rhnServerEvent where server_id = s.id;
   132: 		delete from rhnServerHistory where server_id = s.id;
   133: 		delete from rhnServerInfo where server_id = s.id;
   134: 		delete from rhnServerInstallInfo where server_id = s.id;
   135: 		delete from rhnServerLocation where server_id = s.id;
   136: 		delete from rhnServerLock where server_id = s.id;
   137: 		delete from rhnServerNeededPackageCache where server_id = s.id;
   138: 		delete from rhnServerNeededErrataCache where server_id = s.id;
   139: 		delete from rhnServerNetwork where server_id = s.id;
   140: 		delete from rhnServerNotes where server_id = s.id;
   141: 		delete from rhnServerPackage where server_id = s.id;
   142: 		delete from rhnServerTokenRegs where server_id = s.id;
   143: 		delete from rhnSnapshotTag where server_id = s.id;
   144: 		delete from rhnSnapshot where server_id = s.id;
   145: 		delete from rhnTransaction where server_id = s.id;
   146: 		delete from rhnUserServerPrefs where server_id = s.id;
   147: 		delete from rhnServerPath where s.id in (server_id, proxy_server_id);
   148: 		delete from rhnUserServerPerms where server_id = s.id;
   149: 		delete from rhn_interface_monitoring where server_id = s.id;
   150: 		delete from rhnServerNetInterface where server_id = s.id;
   151: 		delete from rhn_server_monitoring_info where recid = s.id;
   152: 		delete from rhnAppInstallSession where server_id = s.id;
   153: 		delete from rhnServerUuid where server_id = s.id;
   154:         DELETE FROM rhn_probe_state PS WHERE PS.probe_id in
   155:         (SELECT CP.probe_id
   156:            FROM rhn_check_probe CP
   157:           WHERE CP.host_id = s.id
   158:         );
   159:         DELETE FROM rhn_probe P  WHERE P.recid in
   160:         (SELECT CP.probe_id
   161:            FROM rhn_check_probe CP
   162:           WHERE CP.host_id = s.id
   163:         );
   164:         DELETE
   165:           FROM rhn_probe_state PS
   166:          WHERE PS.probe_id in
   167:         (SELECT CP.probe_id
   168:            FROM rhn_check_probe CP
   169:           WHERE CP.sat_cluster_id in
   170:         (SELECT SN.sat_cluster_id
   171:            FROM rhn_sat_node SN
   172:           WHERE SN.server_id = s.id));
   173:         DELETE FROM rhn_probe P
   174:          WHERE P.recid in
   175:         (SELECT CP.probe_id
   176:           FROM rhn_check_probe CP
   177:            WHERE CP.sat_cluster_id in
   178:         (SELECT SN.sat_cluster_id
   179:            FROM rhn_sat_node SN
   180:            WHERE SN.server_id = s.id));
   181:         delete from rhn_check_probe where host_id = s.id;
   182:         delete from rhn_host_probe where host_id = s.id;
   183:         delete from rhn_sat_cluster where recid in
   184:          ( select sat_cluster_id from rhn_sat_node where server_id = s.id );
   185:     	delete from rhn_sat_node where server_id = s.id;
   186: 		delete from rhnServer
   187: 			where id = s.id;
   188: 		delete from rhnSet
   189: 			where user_id in (
   190: 				select	wc.id
   191: 				from	rhnServer rs,
   192: 					web_contact wc
   193: 				where	rs.id = s.id
   194: 					and rs.org_id = wc.org_id
   195: 			)
   196: 			and label = 'system_list'
   197: 			and element = s.id;
   198: 	end loop;
   199: end delete_server_bulk;