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
-~----------~----~----~----~------~----~------~--~---

Reply via email to