Rev 64 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/* Formatted on 2006/09/12 14:03 (Formatter Plus v4.8.6) *//* Bom Compare */SELECT DISTINCT pv.pv_id AS prod_id, pkg.pkg_name, pv.pkg_version,pv.is_patch, pd.is_rejected, pkg.pkg_idFROM (/* ADDED PATCHES ONLY */SELECT 'A' AS change_type, newbom.prod_id, newbom.pkFROM (SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pkFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND NOT pv.is_patch IS NULLAND pv.is_obsolete IS NULLAND bc.bom_id = :bom_id) newbom,(SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pkFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND NOT pv.is_patch IS NULLAND bc.bom_id = :compare_bom_id) oldbomWHERE newbom.pk = oldbom.pk(+)AND newbom.prod_id = oldbom.prod_id(+)AND oldbom.pk IS NULLUNION/* ADDED PRODUCTS ONLY */SELECT DECODE (oldbom.prod_id,NULL, 'A','U') AS change_type, newbom.prod_id, newbom.pkFROM (SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pk,pv.pkg_id,NVL (pv.v_ext, '|LINK_A_NULL|') AS v_extFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND pv.is_patch IS NULLAND bc.bom_id = :bom_id) newbom,(SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pk,pv.pkg_id,NVL (pv.v_ext, '|LINK_A_NULL|') AS v_extFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND pv.is_patch IS NULLAND bc.bom_id = :compare_bom_id) oldbomWHERE newbom.pk = oldbom.pk(+)--AND newbom.PROD_ID = oldbom.PROD_ID (+)AND newbom.pkg_id = oldbom.pkg_id(+)AND newbom.v_ext = oldbom.v_ext(+)AND ( oldbom.prod_id != newbom.prod_idOR oldbom.prod_id IS NULL)AND newbom.prod_id NOT IN (SELECT osc.prod_idFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND pv.is_patch IS NULLAND bc.bom_id = :compare_bom_id)UNION/* REMOVED PRODUCTS ONLY*/SELECT 'R' AS change_type, oldbom.prod_id, oldbom.pkFROM (SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pk,pv.pkg_id,NVL (pv.v_ext, '|LINK_A_NULL|') AS v_extFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND pv.is_patch IS NULLAND bc.bom_id = :bom_id) newbom,(SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pk,pv.pkg_id,NVL (pv.v_ext, '|LINK_A_NULL|') AS v_extFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND pv.is_patch IS NULLAND bc.bom_id = :compare_bom_id) oldbomWHERE newbom.pk(+) = oldbom.pk--AND newbom.PROD_ID (+) = oldbom.PROD_IDAND newbom.pkg_id(+) = oldbom.pkg_idAND newbom.v_ext(+) = oldbom.v_extAND newbom.pk IS NULLUNION/* REMOVED PATCHES */SELECT 'R' AS change_type, oldbom.prod_id, oldbom.pkFROM (SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pkFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND NOT pv.is_patch IS NULLAND bc.bom_id = :bom_id) newbom,(SELECT osc.prod_id,nn.node_name || '_' || os.os_name AS pkFROM os_contents osc,operating_systems os,network_nodes nn,bom_contents bc,package_versions pvWHERE osc.os_id = os.os_idAND os.node_id = nn.node_idAND bc.node_id = nn.node_idAND osc.prod_id = pv.pv_idAND NOT pv.is_patch IS NULLAND pv.is_obsolete IS NULLAND bc.bom_id = :compare_bom_id) oldbomWHERE newbom.pk(+) = oldbom.pkAND newbom.prod_id(+) = oldbom.prod_idAND newbom.pk IS NULL) qry,package_versions pv,PACKAGES pkg,product_details pdWHERE qry.prod_id = pv.pv_idAND pv.pkg_id = pkg.pkg_idAND pd.prod_id(+) = qry.prod_idAND (pd.is_rejected IS NULL OR pd.is_rejected = 'N')MINUSSELECT DISTINCT pv.pv_id AS prod_id, pkg.pkg_name, pv.pkg_version,pv.is_patch, pd.IS_REJECTED, pkg.pkg_idFROM bom_contents bc,operating_systems os,os_contents osc,PACKAGES pkg,package_versions pv,product_details pdWHERE bc.bom_id = :current_bomAND os.node_id = bc.node_idAND osc.os_id = os.os_idAND osc.prod_id = pv.pv_idAND pkg.pkg_id = pv.pkg_idand pd.PROD_ID(+) = osc.PROD_IDORDER BY pkg_name asc