| 119 |
ghuddy |
1 |
SELECT pkg.pkg_name, comp.*, usr.FULL_NAME, usr.user_email
|
|
|
2 |
FROM PACKAGES pkg,
|
|
|
3 |
USERS usr,
|
|
|
4 |
(
|
|
|
5 |
SELECT dpv.pv_id AS pv_id, -1 AS old_pv_id, dpv.pkg_id, NULL AS pkg_version, dpv.pkg_version AS previous_version, 2 AS status, dpv.MODIFIER_ID
|
|
|
6 |
FROM PACKAGE_VERSIONS dpv,
|
|
|
7 |
PACKAGE_DEPENDENCIES dep,
|
|
|
8 |
(
|
|
|
9 |
SELECT olddpv.pv_id AS previous_pv_id, newdpv.pv_id AS current_pv_id
|
|
|
10 |
FROM PACKAGE_VERSIONS newdpv,
|
|
|
11 |
PACKAGE_DEPENDENCIES newdep,
|
|
|
12 |
PACKAGE_VERSIONS olddpv,
|
|
|
13 |
PACKAGE_DEPENDENCIES olddep
|
|
|
14 |
WHERE newdep.DPV_ID = newdpv.PV_ID
|
|
|
15 |
AND olddep.DPV_ID = olddpv.PV_ID
|
|
|
16 |
AND newdep.pv_id = :PV_ID
|
|
|
17 |
AND olddep.pv_id = :OLD_PV_ID
|
|
|
18 |
AND newdpv.pkg_id = olddpv.pkg_id
|
|
|
19 |
AND NVL( newdpv.v_ext , 'LINK_A_NULL' ) = NVL( olddpv.v_ext, 'LINK_A_NULL' )
|
|
|
20 |
) diff
|
|
|
21 |
WHERE dep.DPV_ID = dpv.PV_ID
|
|
|
22 |
AND dep.pv_id = :OLD_PV_ID
|
|
|
23 |
AND dpv.pv_id = diff.previous_pv_id (+)
|
|
|
24 |
AND (diff.current_pv_id IS NULL OR diff.previous_pv_id IS NULL)
|
|
|
25 |
UNION
|
|
|
26 |
SELECT dpv.pv_id AS pv_id, 0 AS old_pv_id, dpv.pkg_id, dpv.pkg_version, NULL AS previous_version, 3 AS status, dpv.MODIFIER_ID
|
|
|
27 |
FROM PACKAGE_VERSIONS dpv,
|
|
|
28 |
PACKAGE_DEPENDENCIES dep,
|
|
|
29 |
(
|
|
|
30 |
SELECT olddpv.pv_id AS previous_pv_id,
|
|
|
31 |
newdpv.pv_id AS current_pv_id
|
|
|
32 |
FROM PACKAGE_VERSIONS newdpv,
|
|
|
33 |
PACKAGE_DEPENDENCIES newdep,
|
|
|
34 |
PACKAGE_VERSIONS olddpv,
|
|
|
35 |
PACKAGE_DEPENDENCIES olddep
|
|
|
36 |
WHERE newdep.DPV_ID = newdpv.PV_ID
|
|
|
37 |
AND olddep.DPV_ID = olddpv.PV_ID
|
|
|
38 |
AND newdep.pv_id = :PV_ID
|
|
|
39 |
AND olddep.pv_id = :OLD_PV_ID
|
|
|
40 |
AND newdpv.pkg_id = olddpv.pkg_id
|
|
|
41 |
AND NVL( newdpv.v_ext , 'LINK_A_NULL' ) = NVL( olddpv.v_ext, 'LINK_A_NULL' )
|
|
|
42 |
) diff
|
|
|
43 |
WHERE dep.DPV_ID = dpv.PV_ID
|
|
|
44 |
AND dep.pv_id = :PV_ID
|
|
|
45 |
AND dpv.pv_id = diff.current_pv_id (+)
|
|
|
46 |
AND (diff.current_pv_id IS NULL OR diff.previous_pv_id IS NULL)
|
|
|
47 |
UNION
|
|
|
48 |
SELECT newdpv.pv_id AS pv_id,
|
|
|
49 |
olddep.dpv_id AS old_pv_id,
|
|
|
50 |
newdpv.pkg_id, newdpv.pkg_version,
|
|
|
51 |
DECODE( newdpv.pv_id, olddpv.pv_id, NULL, olddpv.pkg_version ) AS previous_version,
|
|
|
52 |
DECODE( newdpv.pv_id, olddpv.pv_id, 0, 1 ) AS status, newdpv.MODIFIER_ID
|
|
|
53 |
FROM PACKAGE_VERSIONS newdpv,
|
|
|
54 |
PACKAGE_DEPENDENCIES newdep,
|
|
|
55 |
PACKAGE_VERSIONS olddpv,
|
|
|
56 |
PACKAGE_DEPENDENCIES olddep
|
|
|
57 |
WHERE newdep.DPV_ID = newdpv.PV_ID
|
|
|
58 |
AND olddep.DPV_ID = olddpv.PV_ID
|
|
|
59 |
AND newdep.pv_id = :PV_ID
|
|
|
60 |
AND olddep.pv_id = :OLD_PV_ID
|
|
|
61 |
AND newdpv.pkg_id = olddpv.pkg_id
|
|
|
62 |
AND NVL( newdpv.v_ext , 'LINK_A_NULL' ) = NVL( olddpv.v_ext, 'LINK_A_NULL' )
|
|
|
63 |
) comp
|
|
|
64 |
WHERE comp.pkg_id = pkg.pkg_id
|
|
|
65 |
AND comp.modifier_id = usr.user_id
|
|
|
66 |
ORDER BY UPPER(pkg.pkg_name)
|