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

LOOKUP_PACKAGE_NEVRA

DDL script

Arguments:

NameData TypeDefault ValueIn/Out
NAME_ID_INVARCHAR2 IN
EVR_ID_INVARCHAR2 IN
PACKAGE_ARCH_ID_INVARCHAR2 IN
IGNORE_NULL_NAMENUMBER(38) IN

Returns:

NUMBER(38)

Source

Legend: comment string keyword reserved word operator
     1: function
     2: lookup_package_nevra(
     3: 	name_id_in in varchar2,
     4: 	evr_id_in in varchar2,
     5: 	package_arch_id_in in varchar2,
     6: 	ignore_null_name in number := 0
     7: ) return number
     8: deterministic
     9: is
    10: 	nevra_id number;
    11: begin
    12:     if ignore_null_name = 1 and name_id_in is null then
    13:         return null;
    14:     end if;
    15: 
    16:     select id
    17:       into nevra_id
    18:       from rhnPackageNEVRA
    19:      where 1=1 and
    20:            name_id = name_id_in and
    21:            evr_id = evr_id_in and
    22:            (package_arch_id = package_arch_id_in or
    23:             (package_arch_id is null and package_arch_id_in is null));
    24: 
    25:     return nevra_id;
    26: exception when no_data_found then
    27:     begin
    28:         nevra_id := insert_package_nevra(name_id_in, evr_id_in, package_arch_id_in);
    29:     exception when dup_val_on_index then
    30:         select id
    31:           into nevra_id
    32:           from rhnPackageNEVRA
    33:          where 1=1 and
    34:                name_id = name_id_in and
    35:                evr_id = evr_id_in and
    36:                (package_arch_id = package_arch_id_in or
    37:                 (package_arch_id is null and package_arch_id_in is null));
    38:     end;
    39:     return nevra_id;
    40: end;