Yes, the current driver has setFetchSize() implemented.
Note that you must be inside a transaction as a cursor is used for implementing
this. Alternatively you can be using a server side prepared statement (you
don't need to be inside a transaction in that case).
If you are using an older driver, you can always declare a cursor yourself.
Regards,
Fernando
Lufkin, Brad wrote:> Whenever I execute a query and retrieve the results with
the sequence:
>
> ResultSet resultSet = statement.executeQuery("SELECT blah blah
> blah...");
> while (resultSet.next()) {
> //do something with the resultSet
> }
>
> it looks like the query is completely carried out before any results are
> returned. This contrasts with the behavior of other databases (Informix
> comes to mind) where the query returns immediately and the results are
> returned as the database fetches them. Is my supposition correct, and, if
> so, is there any way to make postgres behave the same way as Informix?
> My reasons for wanting this behavior is that I'm displaying results in real
> time to a user through a GUI and the gradual display of results is
> preferable to a long pause followed by all the results at once.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html
>
--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9