On Wednesday 23 May 2007 16:59:52 Jan Kupec wrote:
Duncan, what i was talking about is storing all the rest of the data other than NVRAD and kind in these methods:
consumePatch() consumePackageAtom() consumeMessage() consumeScript() consumePattern() consumeProduct()
Do you want to code it, or shell i? There is some work on the YUMParser stuff yet, but after polishing the code i'm free to do other things.
Go ahead. I have to update the testsuite later, now that the parsers are ready, I can use the YUM or YaST parser for the cache store testcase, beter yum, as it has patches.
FILELISTS AND CHANGELOGS of YUM void CacheStore::consumeFilelist( const data::RecordId &catalog_id, const data::Resolvable_Ptr & resolvable, const data::Filenames & filenames )
This would mean querying the DB for the resolvable of given kind and NVRA in given catalog and appending the changelog/filelist to it. You said that it is not possible since the kind and NVRA are not unique within one catalog?
Yes, you have to pass the record id. The problem lays in another part. When I first thought about the ResolvableConsumer interface, I only expected to have void consumeSomething() methods that accept a struct, but not method that returns ids, because this means the producer (parser) has to keep some status. If you need to keep status, then it would not be feasible to implement consumers like a logger. However, YaST metadata needs to fill complete package structs, and then add descriptons latter, so it needs to get the id of a consumePackage call. Perhaps we should move the complete interface of CacheStore to the ResolvableConsumer call. What do you think? So in your case, the consumePackage would return the id, and then you can fill the filelists using this id, then you only need a map of nvra to id, which is pretty cheap. -- Duncan Mac-Vicar Prett Novell :: SUSE R&D, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org