/* all parents + package itself */ ( SELECT DISTINCT pkg_id AS pkg_id FROM package_dependencies dep CONNECT BY PRIOR pkg_id = dpkg_id AND pv_id IN ( $RELIST$ ) START WITH dpkg_id IN ( $PKG_ID$ ) AND pv_id IN ( $RELIST$ ) UNION SELECT DISTINCT pkg.pkg_id FROM packages pkg, package_versions pv, release_content rc WHERE pkg.pkg_id = pv.pkg_id AND pv.pv_id = rc.pv_id AND pkg.pkg_id IN ( $PKG_ID$ ) /* AND rc.pv_id IN ( $RELIST$ ) */ ) INTERSECT /* all kids of working package */ ( SELECT UNIQUE dpkg_id AS pkg_id FROM package_dependencies dep CONNECT BY PRIOR dpkg_id = pkg_id AND pv_id IN ( $RELIST$ ) START WITH pkg_id IN ( $DEPLIST$ ) AND pv_id IN ( $RELIST$ ) UNION SELECT pkg.pkg_id FROM packages pkg, package_versions pv, release_content rc WHERE pkg.pkg_id = pv.pkg_id AND pv.pv_id = rc.pv_id AND pkg.pkg_name IN ( $DEPNAMESTR$ ) AND rc.pv_id IN ( $RELIST$ ) )