Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set

From: Kris Jurka <books(at)ejurka(dot)com>
To: Dave Crooke <dcrooke(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set
Date: 2010-04-15 20:22:27
Message-ID: alpine.BSO.2.00.1004151616310.9994@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Thu, 15 Apr 2010, Dave Crooke wrote:

> I have a huge table I need to do a full table scan on.
>
> 2. When I use setFetchSize(), which is both a JDBC standard and the
> recommendation on the page below ...
>
> http://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor
>
> ... it bails after about 900ms / 100 fetches / a few thousand rows, with the
> following PG internal error:
>
> org.postgresql.util.PSQLException: ERROR: portal "C_14" does not exist
>

I'm guessing that you have committed the transaction so the portal
(backing the query) gets cleaned up. To keep a portal open across
transactions you need the WITH HOLD option to DECLARE CURSOR. There is no
way to do that at the protocol level to work with the current query setup
you have. If that's what you need, you'll need to rewrite it to DECLARE
CURSOR and then issue the FETCHes yourself.

Kris Jurka

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Crooke 2010-04-15 22:01:54 Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set
Previous Message Dave Crooke 2010-04-15 20:13:39 HELP: How to tame the 8.3.x JDBC driver with a biq query result set