Hello! (Internet is acting up; I hope this doesn't double-post.) It's been a week since coding started. In the meantime I've been fleshing out the interface for the new QuerySet and incorporating suggestions from last week. I implemented a 'registry' that tracks cached QuerySets and listens for instance modification, a simple hash() for QuerySet to identify which filters are in effect, and reorganized/refactored the way QuerySets are handled. More code is copy-pasted from query.py right now, but I'm happier with the layout now. (All code that overrides old code got moved into a separate file.) The registry doesn't use an optimal algorithm by far; it currently contains a dict that associates primary key values to the set() of cached QuerySets that contain the primary key. The code that sets it all up seems a little bulky and expensive too... but as Malcolm said it should be good for a first try!
Some things I'd like to finish this week include the rest of the regular QuerySet methods and then some special cases, figuring out how to test caching behaviour for correctness, and looking further into how multiple instances are handled and when QuerySets become updated. The QuerySet.__hash__ will probably need to be extended some, and I still need to move things out of iterator(). Also I need to update the site/wiki/schedule, check code in more often, and get creative with the tests ;) - Paul --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---
