Take a look at paginated queries (which isn't /quite/ what you want,
but may help you):
http://cayenne.apache.org/doc/paginated-queries.html
As well as ResultIterator:
http://cayenne.apache.org/doc/iterating-through-data-rows.html
Robert
On May 15, 2009, at 5/159:21 AM , stefcl wrote:
Thanks but my problem is not related to paging.
I would like to be able to execute a select query which returns approx
100000 rows with a single selectQuery and process them one by one,
while
keeping only a few of them in memory (using the resultiterator).
In jdbc, Statement.setFetchSize(1000) tells the jdbc driver to
retrieve
results from the database 1000 at a time and ask for the next 1000
as you're
iterating the resultset. Otherwise its default behavior is to
retrieve the
100'000 rows in memory before you can start iterating the resultset.
It's not the same thing as inserting a TOP or a LIMIT clause in the
query.
Any help appreciated
Andrey Razumovsky wrote:
Hi,
Yes of course. You can use SelectQuery.setFetchLimit(int) and
setFetchStart(int) methods. They do just that.
Andrey
--
View this message in context:
http://www.nabble.com/Big-selects-on-PostGres-%3A-Configuring-Statement.setFetchSize%28%29-of-a-selectquery-tp23555842p23560831.html
Sent from the Cayenne - User mailing list archive at Nabble.com.