Re: SOLVED ... Re: Getting rid of a cursor from JDBC .... Re: [PERFORM] Re: HELP: How to tame the 8.3.x JDBC driver with a biq guery result set - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: SOLVED ... Re: Getting rid of a cursor from JDBC .... Re: [PERFORM] Re: HELP: How to tame the 8.3.x JDBC driver with a biq guery result set
Date
Msg-id alpine.BSO.2.00.1004201157210.17732@leary.csoft.net
Whole thread Raw
In response to SOLVED ... Re: Getting rid of a cursor from JDBC .... Re: [PERFORM] Re: HELP: How to tame the 8.3.x JDBC driver with a biq guery result set  (Dave Crooke <dcrooke@gmail.com>)
List pgsql-jdbc

On Mon, 19 Apr 2010, Dave Crooke wrote:

> Statement.close() appears to get the job done (in my envrionment, PG's
> driver never sees a Connection.close() because of DBCP).
>
> I'd consider the fact that ResultSet.close() does not release the implicit
> cursor to be something of a bug, but it may well have been fixed already.

PG doesn't release the locks acquired by the query until transaction end.
So closing a cursor will release some backend memory, but it won't release
the locks.  The way the driver implements ResultSet.close() is to put
the close message into a queue so that the next time a message is sent to
the backend we'll also send the cursor close message.  This avoids an
extra network roundtrip for the close action.

In any case Statement.close isn't helping you here either.  It's really
Connection.commit/rollback that's releasing the locks.

Kris Jurka

pgsql-jdbc by date:

Previous
From: Dave Crooke
Date:
Subject: Re: SOLVED ... Re: Getting rid of a cursor from JDBC .... Re: [PERFORM] Re: HELP: How to tame the 8.3.x JDBC driver with a biq guery result set
Next
From: "Kevin Grittner"
Date:
Subject: Re: SOLVED ... Re: Getting rid of a cursor from JDBC .... Re: [PERFORM] Re: HELP: How to tame the 8.3.x JDBC driver with a biq guery result set