LOOKUP_PACKAGE_NEVRA
DDL scriptArguments:
Name | Data Type | Default Value | In/Out |
---|
NAME_ID_IN | VARCHAR2 | | IN |
EVR_ID_IN | VARCHAR2 | | IN |
PACKAGE_ARCH_ID_IN | VARCHAR2 | | IN |
IGNORE_NULL_NAME | NUMBER(38) | | IN |
Returns:
NUMBER(38)Source
Legend: 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;