Jason Dobies wrote:
I ran into a wall while adding multiarch support to the SSM remove
packages flow.
Currently, we store the packages the user selects into an rhnSet. When
determining on which servers the selected packages exist, the query uses
the rhnSet of packages and the set of systems to let the DB do all the
heavy lifting.
The problem is in the two element approach in rhnSet; there's no room
for arch (it's currently holding the name ID and evr ID in the two
slots). This keeps me from using rhnSet to hold the packages for that
query (I can easily hang on to them in memory with SessionSet).
Likewise, an IN clause is probably out for all of the reasons I'm sure
we've hit a number of other places.
So I'm kinda stuck. Any ideas are appreciated.
Ehm... Why do you need to store arch in db in first place?
I though that the process should be:
1. choose in SSM packages to remove
2. store them name and evr in rhnset.
3. foreach machine in SSM do
select name_id, evd_id, package_arch_id from RHNSERVERPACKAGE where
server_id=machine
delete on machine the package(name_id, evd_id, package_arch_id)
--
Miroslav Suchy
RHN Satellite Engineering, Red Hat
_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel