Am 11. Dezember 2018 01:51:11 MEZ schrieb Paul-Andre Panon <paul-andre.pa...@avigilon.com>: >Earlier today I wrote about the changes in PR500. That parsing actually >seems to be OK after all because the EVR entries in the database are >OK. > >That said, it looks like the query that generates the list of >upgradeable >packages in the Spacewalk GUI is system_upgradable_package_list in >spacewalk/java/code/src/com/redhat/rhn/common/db/datasource/xml/Package_qu >eries.xml > ><mode name="system_upgradable_package_list" >class="com.redhat.rhn.frontend.dto.UpgradablePackageListItem"> > <query params="sid"> >SELECT n.id AS id, > n.id AS name_id, > lookup_evr(((latest.evr)).epoch, (latest.evr).version, >(latest.evr).release) AS evr_id, > latest.package_arch_id AS arch_id, > (latest.evr).epoch AS epoch, > (latest.evr).version AS version, > (latest.evr).release AS release, > n.name AS name, > n.name ||'-'|| evr_t_as_vre_simple(latest.evr) || '.' || >latest_pa.label AS nvrea, > n.name ||'-'|| evr_t_as_vre_simple(spe.evr) || '.' || spa.label AS >installed_package, > n.id || '|' || lookup_evr((latest.evr).epoch, >(latest.evr).version, (latest.evr).release)|| '|' || >latest.package_arch_id AS id_combo > FROM > rhnServerPackage sp > join rhnPackageName n > on n.id = sp.name_id > join rhnPackageArch spa > on spa.id = sp.package_arch_id > join rhnPackageEvr spe > on spe.id = sp.evr_id > join ( > select sop.package_name_id, > sop.package_arch_id, > max(PE.evr) evr > from rhnServerOutdatedPackages sop > join rhnPackageEVR pe > on sop.package_evr_id = pe.id > where sop.server_id = :sid > group by sop.package_name_id, sop.package_arch_id) latest > on latest.package_name_id = sp.name_id > join rhnPackageArch latest_pa > on latest_pa.id = latest.package_arch_id > join rhnPackageUpgradeArchCompat puac > on puac.package_arch_id = sp.package_arch_id > and puac.package_upgrade_arch_id = latest.package_arch_id > where sp.server_id = :sid > order by upper(n.name) > </query> > <elaborator multiple="t" params="sid"> > SELECT PN.id AS id, > SOP.errata_id AS errata_id, > SOP.errata_advisory AS errata_advisory, > E.advisory_type AS errata_advisory_type, > E.severity_id AS errata_severity_id > FROM rhnServerOutdatedPackages SOP > INNER JOIN rhnPackageName PN on SOP.package_name_id = PN.id > INNER JOIN rhnErrata E on SOP.errata_id = E.id > WHERE PN.id IN (%s) > AND SOP.server_id = :sid > </elaborator> ></mode> > >The sub-clause > > join ( > select sop.package_name_id, > sop.package_arch_id, > max(PE.evr) evr > from rhnServerOutdatedPackages sop > join rhnPackageEVR pe > on sop.package_evr_id = pe.id > where sop.server_id = :sid > group by sop.package_name_id, sop.package_arch_id) latest > >is returning the gcc_8-related packages because they are provided by >the >rhnServerOutdatedPackages view > >SELECT DISTINCT SNC.server_id, > P.name_id, > P.evr_id, > P.package_arch_id, > PN.name || '-' || evr_t_as_vre_simple( PE.evr ), > E.id, > E.advisory > FROM rhnPackageName PN, > rhnPackageEVR PE, > rhnPackage P, > rhnServerNeededCache SNC > left outer join > rhnErrata E > on SNC.errata_id = E.id > WHERE SNC.package_id = P.id > AND P.name_id = PN.id > AND P.evr_id = PE.id > >and the view is listing those packages because of entries for those >packages in the rhnServerNeededCache table. So the question is what is >populating the rhnServerNeededCache table incorrectly, and why?
Great analysis, Paul-Andre. Robert > >_______________________________________________ >Spacewalk-list mailing list >Spacewalk-list@redhat.com >https://www.redhat.com/mailman/listinfo/spacewalk-list -- sent from my mobile device _______________________________________________ Spacewalk-list mailing list Spacewalk-list@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-list