Re: getMoreResults() issue

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: getMoreResults() issue
Дата
Msg-id 42E57277.70101@opencloud.com
обсуждение исходный текст
Ответ на getMoreResults() issue  ("Les Carter" <carterl@newkinetics.com>)
Список pgsql-jdbc
Les Carter wrote:
> This is a multi-part message in MIME format. --bound1122277206
> Content-Type: text/html; charset=o-8859-1 Content-Transfer-Encoding:
> quoted-printable

Your mail client seems to be a bit confused there; I don't see any MIME
headers in the mail header itself.

> Has anyone else managed to get
> Statement.getMoreResults() working with the JDBC3 drivers and Postgres
> 8?  It's always coming back as false for me even though I know there's
> more data.

getMoreResults() returns false if either there are no more results, or
the next result is an update count. You must also check getUpdateCount()
to work out if you've run out of results or not. See the javadoc for
details.

As far as I know, getMoreResults() in the current driver works just fine.

> Has anyone got a working example?

I posted an example to the list recently -- check the archives
(archives.postgresql.org).

> Does this method only work for PreparedStatements or does a regular
> Statement also bring back large numbers of rows from the DB in pages?

getMoreResults() has nothing to do with "paging" large result sets, it's
to do with retriving multiple resultsets from a query that has many
statements -- e.g. "SELECT * FROM foo; SELECT * FROM bar; INSERT INTO
baz(1,2,3)" will return two resultsets and an update count.

If you want to retrieve a large resultset incrementally:

 - use a TYPE_FORWARD_ONLY resultset
 - ensure autocommit is off
 - set a non-zero fetchsize

and the driver will do the rest transparently, fetching data in blocks
behind the scenes.

-O

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Oliver Jowett
Дата:
Сообщение: Re: Timestamp Summary
Следующее
От: Oliver Jowett
Дата:
Сообщение: Re: Timestamp weirdness