RHN_PACKAGE
DDL scriptPackage source
Legend: string keyword reserved word operator
1: PACKAGE rhn_package
2: IS
3: CURSOR channel_occupancy_cursor(package_id_in IN NUMBER) IS
4: SELECT C.id channel_id, C.name channel_name
5: FROM rhnChannel C,
6: rhnChannelPackage CP
7: WHERE C.id = CP.channel_id
8: AND CP.package_id = package_id_in
9: ORDER BY C.name DESC;
10:
11: FUNCTION canonical_name(name_in IN VARCHAR2, evr_in IN EVR_T,
12: arch_in IN VARCHAR2 := NULL)
13: RETURN VARCHAR2
14: DETERMINISTIC;
15:
16: FUNCTION channel_occupancy_string(package_id_in IN NUMBER, separator_in VARCHAR2 := ', ')
17: RETURN VARCHAR2;
18:
19: END rhn_package;
Package body source
Legend: string keyword reserved word operator
1: PACKAGE BODY rhn_package
2: IS
3: FUNCTION canonical_name(name_in IN VARCHAR2, evr_in IN EVR_T,
4: arch_in IN VARCHAR2)
5: RETURN VARCHAR2
6: IS
7: name_out VARCHAR2(256);
8: BEGIN
9: name_out := name_in || '-' || evr_in.as_vre_simple();
10:
11: IF arch_in IS NOT NULL
12: THEN
13: name_out := name_out || '-' || arch_in;
14: END IF;
15:
16: RETURN name_out;
17: END canonical_name;
18:
19: FUNCTION channel_occupancy_string(package_id_in IN NUMBER, separator_in VARCHAR2 := ', ')
20: RETURN VARCHAR2
21: IS
22: list_out VARCHAR2(4000);
23: BEGIN
24: FOR channel IN channel_occupancy_cursor(package_id_in)
25: LOOP
26: IF list_out IS NULL
27: THEN
28: list_out := channel.channel_name;
29: ELSE
30: list_out := channel.channel_name || separator_in || list_out;
31: END IF;
32: END LOOP;
33:
34: RETURN list_out;
35: END channel_occupancy_string;
36:
37: END rhn_package;