Subversion Repositories DevTools

Rev

Rev 5939 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5925 dpurdie 1
-- UsedByPackageDetail.sql
2
-- Determine package versions that depend on a specific package name
5939 dpurdie 3
-- Provide the package version id and version text
4
--  :PKG_ID   - Need packages that match this package ID
5
--  :PV_ID    - Base package. Provides v_ext and possibly exact match pv_id
5946 dpurdie 6
--  Match control via :MATCH
7
--    :MATCH 0  - Match any  package name
8
--    :MATCH 1  - Match Package name and Project Suffix
9
--    :MATCH 2  - Match exactly the package. Name, Version and Suffix
5939 dpurdie 10
select pkg.pkg_name, 
11
       pkg.pkg_id , 
12
       ppv.pv_id, 
13
       ppv.pkg_version,
14
       pv.pkg_version as used_version,
15
       pv.pv_id as used_pv_id,
16
       ppv.DLOCKED, 
17
       ppv.MODIFIER_ID, 
18
       ppv.MODIFIED_STAMP, 
19
       usr.FULL_NAME, 
20
       usr.USER_EMAIL,
21
       CASE pv.pv_id WHEN TO_NUMBER(:PV_ID) THEN 1 ELSE 0 END as MATCH
22
  from PACKAGE_DEPENDENCIES dep,
23
  package_versions pv,
24
  package_versions ppv,
25
  packages pkg,
26
  USERS usr
27
  Where dep.DPV_ID = pv.pv_id
28
  AND dep.PV_ID = ppv.pv_id
29
  AND ppv.PKG_ID = :PKG_ID
30
  AND pkg.pkg_id = ppv.pkg_id
31
  AND pv.MODIFIER_ID = usr.USER_ID(+)
5946 dpurdie 32
  AND (pv.PV_ID  = :PV_ID OR :MATCH != 2)
33
  AND (NVL(pv.v_ext,'LINK') in ( select NVL(v_ext,'LINK') from package_versions where pv_id = :PV_ID ) OR :MATCH = 2 OR :MATCH = 0)
34
  AND (pv.PKG_ID in ( select pkg_id from package_versions where pv_id = :PV_ID) OR :MATCH = 2)
5939 dpurdie 35
  ORDER BY UPPER(pkg.pkg_name), UPPER(ppv.pkg_version) desc