| 5925 |
dpurdie |
1 |
-- UsedByPackageSummary.sql
|
|
|
2 |
-- Determine packages that depend on a specified package-version
|
|
|
3 |
-- Provide the package id, name and count of package-versions
|
| 5946 |
dpurdie |
4 |
-- Match control via :MATCH
|
|
|
5 |
-- :MATCH 0 - Match any package name
|
|
|
6 |
-- :MATCH 1 - Match Package name and Project Suffix
|
|
|
7 |
-- :MATCH 2 - Match exactly the package. Name, Version and Suffix
|
| 5947 |
dpurdie |
8 |
with
|
|
|
9 |
aa AS ( select NVL(v_ext,'LINK') as ext from package_versions where pv_id = :PV_ID),
|
|
|
10 |
bb AS (select pkg_id from package_versions where pv_id = :PV_ID)
|
| 5939 |
dpurdie |
11 |
select pkg.pkg_name, pkg.pkg_id, count(ppv.pv_id) AS count
|
|
|
12 |
from PACKAGE_DEPENDENCIES dep,
|
|
|
13 |
package_versions pv,
|
|
|
14 |
package_versions ppv,
|
| 5947 |
dpurdie |
15 |
packages pkg,
|
|
|
16 |
aa, bb
|
| 5939 |
dpurdie |
17 |
Where dep.DPV_ID = pv.pv_id
|
|
|
18 |
AND dep.PV_ID = ppv.pv_id
|
|
|
19 |
AND pkg.pkg_id = ppv.pkg_id
|
| 5946 |
dpurdie |
20 |
AND (pv.PV_ID = :PV_ID OR :MATCH != 2)
|
| 5947 |
dpurdie |
21 |
AND (NVL(pv.v_ext,'LINK') in ( aa.ext ) OR :MATCH = 2 OR :MATCH = 0)
|
|
|
22 |
AND (pv.PKG_ID in ( bb.pkg_id ) OR :MATCH = 2)
|
| 5939 |
dpurdie |
23 |
GROUP BY pkg.pkg_name, pkg.pkg_id
|
|
|
24 |
ORDER BY UPPER(pkg.pkg_name)
|