Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources Sanity Check Index DDL scrips
Package source Package body source

RHN_PACKAGE

DDL script

Package source

Legend: comment 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: comment 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;