Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
221 vnguyen 1
CREATE PROCEDURE "RELEASE_MANAGER"."LEVEL_ONE_CONFLICTS" (
2
   nnrtag_id       IN   NUMBER,
3
   nnsession_num   IN   NUMBER
4
)
5
IS
6
/* ---------------------------------------------------------------------------
7
    Version: 3.0.0
8
   --------------------------------------------------------------------------- */
9
BEGIN
10
   /* ---------  LEVEL 1 CONFILCTS -----------
11
   || Following states are used:
12
   || 0 -> NOT FOUND
13
   || 1 -> MAJOR
14
   || 2 -> MINOR MINOR
15
   */
16
   INSERT INTO temp_env_states
17
      SELECT DISTINCT nnsession_num AS session_num, 1 AS level_num,
18
                      err.pv_id, errpkg.pkg_id, errpkg.v_ext,
19
                      DECODE (frc.v_nmm,
20
                              NULL, 0,
21
                              errpv.v_nmm, DECODE (frc.v_mm,
22
                                                   errpv.v_mm, NULL,
23
                                                   2
24
                                                  ),
25
                              1
26
                             ) AS MESSAGE
27
                 FROM (
28
                       /* Full Release Contents used for reference*/
29
                       SELECT rpv.pkg_id,
30
                              NVL (rpv.v_ext, '|LINK_A_NULL|') AS v_ext,
31
                              rpv.pkg_version, rpv.v_nmm, rpv.v_mm
32
                         FROM release_content rel, package_versions rpv
33
                        WHERE rel.pv_id = rpv.pv_id AND rtag_id = nnrtag_id) frc,
34
                      (
35
                       /* DPV_IDs not fount in release*/
36
                       SELECT dep.pv_id, dep.dpv_id AS err_dpv
37
                         FROM package_dependencies dep
38
                        WHERE dep.pv_id IN (SELECT pv_id
39
                                              FROM release_content
40
                                             WHERE rtag_id = nnrtag_id)
41
                          AND NOT dep.dpv_id IN (SELECT pv_id
42
                                                   FROM release_content
43
                                                  WHERE rtag_id = nnrtag_id)
44
                       MINUS
45
                       /* MINUS Dependencies to be ignored */
46
                       SELECT igw.pv_id, igw.dpv_id AS err_dpv
47
                         FROM ignore_warnings igw
48
                        WHERE rtag_id = nnrtag_id) err,
49
                      package_versions errpkg,
50
                      package_versions errpv
51
                WHERE err.err_dpv = errpv.pv_id
52
                  AND errpv.pkg_id = frc.pkg_id(+)
53
                  AND NVL (errpv.v_ext, '|LINK_A_NULL|') = frc.v_ext(+)
54
                  AND err.pv_id = errpkg.pv_id;
55
END level_one_conflicts;
56
/