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: FUNCTION canonical_name(name_in IN VARCHAR2, evr_in IN EVR_T,
11: arch_in IN VARCHAR2 := NULL)
12: RETURN VARCHAR2;
13: FUNCTION channel_occupancy_string(package_id_in IN NUMBER, separator_in VARCHAR2 := ', ')
14: RETURN VARCHAR2;
15: 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: IF arch_in IS NOT NULL
11: THEN
12: name_out := name_out || '-' || arch_in;
13: END IF;
14: RETURN name_out;
15: END canonical_name;
16: FUNCTION channel_occupancy_string(package_id_in IN NUMBER, separator_in VARCHAR2 := ', ')
17: RETURN VARCHAR2
18: IS
19: list_out VARCHAR2(4000);
20: BEGIN
21: FOR channel IN channel_occupancy_cursor(package_id_in)
22: LOOP
23: IF list_out IS NULL
24: THEN
25: list_out := channel.channel_name;
26: ELSE
27: list_out := channel.channel_name || separator_in || list_out;
28: END IF;
29: END LOOP;
30: RETURN list_out;
31: END channel_occupancy_string;
32: END rhn_package;