DELETE_SERVER
Arguments:
Name | Data Type | Default Value | In/Out |
---|
SERVER_ID_IN | NUMBER(38) | | IN |
DDL scriptSource
Legend: string keyword reserved word operator
1: procedure delete_server (
2: server_id_in in number
3: ) is
4: cursor servergroups is
5: select server_id, server_group_id
6: from rhnServerGroupMembers sgm
7: where sgm.server_id = server_id_in;
8: cursor configchannels is
9: select cc.id
10: from rhnConfigChannel cc,
11: rhnConfigChannelType cct,
12: rhnServerConfigChannel scc
13: where 1=1
14: and scc.server_id = server_id_in
15: and scc.config_channel_id = cc.id
16:
17:
18:
19: and cct.label in
20: ('local_override','server_import')
21: and cct.id = cc.confchan_type_id;
22: type filelistsid_t is table of rhnServerPreserveFileList.file_list_id%type;
23: filelistsid_c filelistsid_t;
24:
25: update_lock number;
26: begin
27:
28:
29: select id into update_lock from rhnServer where id = server_id_in for update;
30:
31:
32: select spfl.file_list_id id bulk collect into filelistsid_c
33: from rhnServerPreserveFileList spfl
34: where spfl.server_id = server_id_in
35: and not exists (
36: select 1
37: from rhnServerPreserveFileList
38: where file_list_id = spfl.file_list_id
39: and server_id != server_id_in
40: union
41: select 1
42: from rhnKickstartPreserveFileList
43: where file_list_id = spfl.file_list_id
44: );
45: if filelistsid_c.first is not null then
46: forall i in filelistsid_c.first..filelistsid_c.last
47: delete from rhnFileList where id = filelistsid_c(i);
48: end if;
49:
50: for configchannel in configchannels loop
51: rhn_config.delete_channel(configchannel.id);
52: end loop;
53:
54: for sgm in servergroups loop
55: rhn_server.delete_from_servergroup(
56: sgm.server_id, sgm.server_group_id);
57: end loop;
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68: update rhnKickstartSession
69: set old_server_id = case when old_server_id = server_id_in then null else old_server_id end,
70: new_server_id = case when new_server_id = server_id_in then null else new_server_id end
71: where old_server_id = server_id_in
72: or new_server_id = server_id_in;
73:
74: rhn_channel.clear_subscriptions(server_id_in, 1);
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88: delete from rhnVirtualInstance vi
89: where (host_system_id = server_id_in and virtual_system_id is null)
90: or (virtual_system_id = server_id_in and host_system_id is null)
91: or (vi.virtual_system_id = server_id_in and vi.modified < (select max(vi2.modified)
92: from rhnVirtualInstance vi2 where vi2.uuid = vi.uuid));
93:
94:
95:
96:
97:
98: update rhnVirtualInstance
99: set host_system_id = case when host_system_id = server_id_in then null else host_system_id end,
100: virtual_system_id = case when virtual_system_id = server_id_in then null else virtual_system_id end
101: where host_system_id = server_id_in
102: or virtual_system_id = server_id_in;
103:
104:
105:
106:
107:
108: update rhnVirtualInstanceEventLog
109: set old_host_system_id = case when old_host_system_id = server_id_in then null else old_host_system_id end,
110: new_host_system_id = case when new_host_system_id = server_id_in then null else new_host_system_id end
111: where old_host_system_id = server_id_in
112: or new_host_system_id = server_id_in;
113:
114:
115:
116:
117:
118: delete from rhnActionConfigChannel where server_id = server_id_in;
119: delete from rhnActionConfigRevision where server_id = server_id_in;
120: delete from rhnActionPackageRemovalFailure where server_id = server_id_in;
121: delete from rhnClientCapability where server_id = server_id_in;
122: delete from rhnCpu where server_id = server_id_in;
123:
124:
125: delete from rhnDevice where server_id = server_id_in;
126: delete from rhnProxyInfo where server_id = server_id_in;
127: delete from rhnRam where server_id = server_id_in;
128: delete from rhnRegToken where server_id = server_id_in;
129: delete from rhnSatelliteInfo where server_id = server_id_in;
130:
131: delete from rhnServerAction where server_id = server_id_in;
132: delete from rhnServerActionPackageResult where server_id = server_id_in;
133: delete from rhnServerActionScriptResult where server_id = server_id_in;
134: delete from rhnServerActionVerifyResult where server_id = server_id_in;
135: delete from rhnServerActionVerifyMissing where server_id = server_id_in;
136:
137: delete from rhnServerChannel where server_id = server_id_in;
138: delete from rhnServerConfigChannel where server_id = server_id_in;
139: delete from rhnServerCustomDataValue where server_id = server_id_in;
140: delete from rhnServerDMI where server_id = server_id_in;
141: delete from rhnServerEvent where server_id = server_id_in;
142: delete from rhnServerHistory where server_id = server_id_in;
143: delete from rhnServerInfo where server_id = server_id_in;
144: delete from rhnServerInstallInfo where server_id = server_id_in;
145: delete from rhnServerLocation where server_id = server_id_in;
146: delete from rhnServerLock where server_id = server_id_in;
147: delete from rhnServerNeededCache where server_id = server_id_in;
148: delete from rhnServerNetwork where server_id = server_id_in;
149: delete from rhnServerNotes where server_id = server_id_in;
150:
151:
152: delete from rhnServerPackage where server_id = server_id_in;
153: delete from rhnServerTokenRegs where server_id = server_id_in;
154: delete from rhnSnapshotTag where server_id = server_id_in;
155:
156:
157:
158:
159:
160:
161: delete from rhnSnapshot where server_id = server_id_in;
162: delete from rhnUserServerPrefs where server_id = server_id_in;
163:
164:
165:
166: delete from rhnServerPath where server_id_in in (server_id, proxy_server_id);
167: delete from rhnUserServerPerms where server_id = server_id_in;
168:
169: delete from rhnServerNetInterface where server_id = server_id_in;
170:
171: delete from rhnServerUuid where server_id = server_id_in;
172:
173: delete from rhnPushClient where server_id = server_id_in;
174:
175:
176: delete
177: from rhnServer
178: where id = server_id_in;
179:
180: delete
181: from rhnSet
182: where label = 'system_list'
183: and element = server_id_in;
184: end delete_server;