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