I had to change some of the prefetching logic to fix remaining bugs.
Namely SelectQuery now always uses disjoint prefetches. In cases like
flattened relationships it simply adds columns from the parent object
to the result set to figure out how to attach prefetched object to
the parent.
Unfortunately I wasn't able to come up with a simple consistent
processing model that handles all possible cases, so the code is
pretty messy, with lots of if/else going on during prefetch tree
traversal. Our current test suite contains lots of regression cases,
still there is a chance that it doesn't cover some weird condition.
As I'll be gone for the weekend, I am planning to make M8 release
sometime late Wednesday night EST to get it out in the wild and get
some real feedback. If anyone has opportunity to do some basic
regression testing in real applications, please try out current CVS
code (or tomorrow's nightly build). I'd really appreciate that.
Andrus
On Nov 16, 2005, at 10:30 PM, Andrus Adamchik wrote:
> I am wrapping up my prefetching changes for 1.2. One last thing
> unfinished is the "artificial intelligence" for determining
> prefetch semantics. I am working on it now. I created a little
> writeup on Wiki about the new features:
>
> http://objectstyle.org/confluence/display/CAY/Prefetching
>
> Please comment on it, especially the "Prefetch Semantics" section
> that defines prefetch rules and limitations.
>
> Andrus
>
This archive was generated by hypermail 2.0.0 : Tue Nov 22 2005 - 17:19:11 EST