I just checked in code and documentation for the new performance
optimization features that were discussed some time back on this list.
Namely, I added ResultIterator and "data rows" support. "ResultPager"
implementation is pending.
To try it, get code from CVS, or wait till tomorrow's (July 7) nightly
build goes through. New features are documented pretty well in the user
guide (Chapter #5.8 "Handling Large Result Sets"). I haven't updated the
website (since it should match our last stable release), so check the
documentation from the nightly build/CVS. URL should be like:
file:///[path-to-cayenne]/cayenne-1.0b1-dev/doc/userguide/appguide/bigqueries.html
Robert, let me know if this works for you.
Andrus
At 12:47 AM 6/19/2002 -0400, Andrus wrote:
>I'd suggest we pursue 2 main directions (let me remind that we are
>optimizing 2 things at a time - memory consumption and response times):
>
>1. "ResultIterator" :
>
>something in line with what Robert's requirements are. This query would
>return an iterator backed by the open result set. If this is used within
>web applications, it has to have a single request scope (or at least has
>to have a controlling thread that would guarantee closing of the result
>set once the processing is done). This is ideal for report generation on
>the application side.
>
>
>2. "ResultPager" :
>
>this is a fully disconnected results list that would have faults for pages
>and an automated mechanism to resolve them. How it is done is an
>implementation detail. You suggestion is probably good for the data that
>is not modified too often. Otherwise if you do the same query multiple
>times to read data page by page, you will get different data every time
>(to a point that your last record marker may not be there anymore). Also
>Misha mentioned to me some Oracle-specific features that may place a
>marker on the database side. I wonder if anyone heard of something like that?
This archive was generated by hypermail 2.0.0 : Sat Jul 06 2002 - 16:50:50 EDT