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: pragma autonomous_transaction;
11: nevra_id number;
12: BEGIN
13: if ignore_null_name = 1 and name_id_in is null then
14: return null;
15: end if;
16:
17: select id
18: into nevra_id
19: from rhnPackageNEVRA
20: where 1=1
21: and name_id = name_id_in
22: and evr_id = evr_id_in
23: and (package_arch_id = package_arch_id_in or
24: (package_arch_id is null
25: and package_arch_id_in is null));
26:
27: return nevra_id;
28: exception
29: when no_data_found then
30: insert into rhnPackageNEVRA
31: (id, name_id, evr_id, package_arch_id)
32: values
33: ( rhn_pkgnevra_id_seq.nextval,
34: name_id_in, evr_id_in, package_arch_id_in
35: ) returning id into nevra_id;
36: commit;
37: return nevra_id;
38: end;