| 6788 |
dpurdie |
1 |
-- All the packages that a specific package will depend on - directly and indirectly
|
|
|
2 |
-- :RTAG_ID
|
|
|
3 |
-- :PV_ID
|
|
|
4 |
--
|
|
|
5 |
-- All the package-versions that feed into package-version
|
|
|
6 |
-- Release information is not relevent
|
|
|
7 |
--
|
|
|
8 |
-- Does not include the root package
|
|
|
9 |
-- But setting 'start with pv_id=' to 'start with dpv_id=' will include the base package
|
|
|
10 |
With aa as (
|
|
|
11 |
select distinct LEVEL as ll, pd.dpv_id from package_dependencies pd connect by prior dpv_id = pv_id start with pv_id=:PV_ID
|
|
|
12 |
UNION
|
|
|
13 |
SELECT 0 AS ll, to_number(:PV_ID) AS dpv_id FROM dual
|
|
|
14 |
)
|
|
|
15 |
select t.*, p.pkg_name, pv.pkg_version, pv.MODIFIED_STAMP,pv.DLOCKED, rc.deprecated_state, pv.build_time, rc.PKG_STATE, usr.FULL_NAME, usr.USER_EMAIL
|
|
|
16 |
from (select MIN(ll) as buildLevel, dpv_id as pv_id
|
|
|
17 |
from aa group by dpv_id
|
|
|
18 |
) t, packages p, package_versions pv, release_content rc, USERS usr
|
|
|
19 |
where t.pv_id = pv.pv_id and pv.pkg_id = p.pkg_id AND rc.rtag_id = :RTAG_ID and rc.pv_id = pv.pv_id AND pv.MODIFIER_ID = usr.USER_ID
|
|
|
20 |
order by buildLevel, UPPER(pkg_name)
|
|
|
21 |
|