RHN_CONFIG
DDL scriptPackage source
Legend: string keyword reserved word operator
1: package
2: rhn_config
3: is
4: procedure prune_org_configs (
5: org_id_in in number,
6: total_in in number
7: );
8:
9: function insert_revision (
10: revision_in in number,
11: config_file_id_in in number,
12: config_content_id_in in number,
13: config_info_id_in in number,
14: config_file_type_id_in number := 1
15: ) return number;
16:
17: procedure delete_revision (
18: config_revision_id_in in number,
19: org_id_in in number := -1
20: );
21:
22: function get_latest_revision (
23: config_file_id_in in number
24: ) return number;
25:
26: function insert_file (
27: config_channel_id_in in number,
28: name_in in varchar2
29: ) return number;
30:
31: procedure delete_file (
32: config_file_id_in in number
33: );
34:
35: function insert_channel (
36: org_id_in in number,
37: type_in in varchar2,
38: name_in in varchar2,
39: label_in in varchar2,
40: description_in in varchar2
41: ) return number;
42:
43: procedure delete_channel (
44: config_channel_id_in in number
45: );
46: end rhn_config;
Package body source
Legend: string keyword reserved word operator
1: package body
2: rhn_config
3: is
4:
5: procedure prune_org_configs (
6: org_id_in in number,
7: total_in in number
8: ) is
9: begin
10: null;
11: end prune_org_configs;
12:
13: function insert_revision (
14: revision_in in number,
15: config_file_id_in in number,
16: config_content_id_in in number,
17: config_info_id_in in number,
18: config_file_type_id_in in number := 1
19: ) return number is
20: retval number;
21:
22: begin
23:
24: insert into rhnConfigRevision(id, revision, config_file_id,
25: config_content_id, config_info_id, config_file_type_id
26: ) values (
27: rhn_confrevision_id_seq.nextval, revision_in, config_file_id_in,
28: config_content_id_in, config_info_id_in, config_file_type_id_in
29: )
30: returning id into retval;
31:
32: return retval;
33: end insert_revision;
34:
35: procedure delete_revision (
36: config_revision_id_in in number,
37: org_id_in in number := -1
38: ) is
39: cfid number;
40: ccid number;
41: latest_crid number;
42: others number := 0;
43: begin
44: select cr.config_content_id
45: into ccid
46: from rhnConfigRevision cr
47: where cr.id = config_revision_id_in;
48:
49:
50:
51:
52:
53:
54:
55:
56: delete from rhnConfigRevision where id = config_revision_id_in;
57:
58:
59:
60: select count(*)
61: into others
62: from rhnConfigRevision
63: where config_content_id = ccid;
64: if others = 0 then
65: delete from rhnConfigContent where id = ccid;
66: end if;
67:
68:
69:
70:
71: if org_id_in < 0 then
72: select cf.latest_config_revision_id,
73: cf.id
74: into latest_crid,
75: cfid
76: from rhnConfigFile cf,
77: rhnConfigRevision cr
78: where cr.id = config_revision_id_in
79: and cr.config_file_id = cf.id;
80:
81: if latest_crid = config_revision_id_in then
82: latest_crid := rhn_config.get_latest_revision(cfid);
83: if latest_crid is not null then
84: update rhnConfigFile set latest_config_revision_id = latest_crid
85: where id = cfid;
86: else
87: delete from rhnConfigFile where id = cfid;
88: end if;
89: end if;
90:
91: end if;
92: end delete_revision;
93:
94: function get_latest_revision (
95: config_file_id_in in number
96: ) return number is
97: cursor revisions is
98: select cr.id
99: from rhnConfigRevision cr
100: where cr.config_file_id = config_file_id_in
101: order by revision desc;
102: begin
103: for revision in revisions loop
104: return revision.id;
105: end loop;
106: return null;
107: end get_latest_revision;
108:
109: function insert_file (
110: config_channel_id_in in number,
111: name_in in varchar2
112: ) return number is
113: retval number;
114: begin
115: select rhn_conffile_id_seq.nextval
116: into retval
117: from dual;
118:
119: insert into rhnConfigFile(id, config_channel_id, config_file_name_id,
120: state_id
121: ) (
122: select retval,
123: config_channel_id_in,
124: lookup_config_filename(name_in),
125: id
126: from rhnConfigFileState
127: where label = 'alive'
128: );
129:
130: return retval;
131: end insert_file;
132:
133: procedure delete_file (
134: config_file_id_in in number
135: ) is
136: cursor revisions is
137: select cr.id, cc.org_id
138: from rhnConfigChannel cc,
139: rhnConfigRevision cr,
140: rhnConfigFile cf
141: where cf.id = config_file_id_in
142: and cf.config_channel_id = cc.id
143: and cr.config_file_id = cf.id;
144: begin
145: for revision in revisions loop
146: rhn_config.delete_revision(revision.id, revision.org_id);
147: end loop;
148: delete from rhnConfigFile where id = config_file_id_in;
149: end delete_file;
150:
151: function insert_channel (
152: org_id_in in number,
153: type_in in varchar2,
154: name_in in varchar2,
155: label_in in varchar2,
156: description_in in varchar2
157: ) return number is
158: retval number;
159: begin
160: select rhn_confchan_id_seq.nextval
161: into retval
162: from dual;
163:
164: insert into rhnConfigChannel(id, org_id, confchan_type_id,
165: name, label, description
166: ) (
167: select retval,
168: org_id_in,
169: cct.id,
170: name_in,
171: label_in,
172: description_in
173: from rhnConfigChannelType cct
174: where label = type_in
175: );
176: return retval;
177: end insert_channel;
178:
179: procedure delete_channel (
180: config_channel_id_in in number
181: ) is
182: cursor config_files is
183: select id
184: from rhnConfigFile
185: where config_channel_id = config_channel_id_in;
186: begin
187: for config_file in config_files loop
188: rhn_config.delete_file(config_file.id);
189: end loop;
190: delete from rhnConfigChannel where id = config_channel_id_in;
191: end delete_channel;
192: end rhn_config;