Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources Sanity Check Index DDL scrips
Arguments Source

RHNHISTORYVIEW_PKGLIST

DDL script

Arguments:

NameData TypeDefault ValueIn/Out
ACTION_IDNUMBER(38) IN
SEPARATORVARCHAR2 IN

Returns:

VARCHAR2

Source

Legend: comment string keyword reserved word operator
     1: function
     2: rhnHistoryView_pkglist(action_id IN NUMBER, separator IN VARCHAR2 DEFAULT chr(10))
     3: return VARCHAR2
     4: is
     5:     store_var  VARCHAR2(4000);
     6:     store_tmp  VARCHAR2(4000);
     7:     select_sql VARCHAR2(4000);
     8:     trimmed NUMBER;
     9:     cursor pkg_cursor(action_id_in IN NUMBER)
    10:     is
    11:        select
    12:            pn.name||'-'||pevr.version||'-'||pevr.release||'.'||pa.name
    13:        from
    14:            rhnPackageName pn, rhnPackageEVR pevr, rhnPackageArch pa,
    15: 	   rhnActionPackage ap
    16:        where
    17:                ap.name_id = pn.id
    18: 	   and ap.evr_id = pevr.id
    19: 	   and ap.package_arch_id = pa.id(+)
    20: 	   and ap.action_id = action_id_in;
    21: begin
    22:     store_var := NULL;
    23:     trimmed := 0;
    24:     open pkg_cursor(action_id);
    25:     loop
    26: 	fetch pkg_cursor into store_tmp;
    27: 	exit when pkg_cursor%NOTFOUND;
    28: 	if store_var is NULL then
    29: 	   store_var := store_tmp;
    30: 	else
    31: 	   trimmed := 1;
    32: 	   exit when length(store_var) + length(separator) + length(store_tmp) > 3700;
    33: 	   store_var := store_var || separator || store_tmp;
    34: 	   trimmed := 0;
    35: 	end if;
    36:     end loop;
    37:     close pkg_cursor;
    38:     if trimmed <> 0 then
    39:         store_var := store_var || separator || '...';
    40:     end if;
    41:     return store_var;
    42: end;