Re: BUG #1240: memory leak in JDBC driver build 215 - Mailing list pgsql-bugs

From Fabien COELHO
Subject Re: BUG #1240: memory leak in JDBC driver build 215
Date
Msg-id Pine.LNX.4.61.0409061745020.2431@sablons.cri.ensmp.fr
Whole thread Raw
In response to BUG #1240: memory leak in JDBC driver build 215  ("PostgreSQL Bugs List" <pgsql-bugs@postgresql.org>)
Responses Re: BUG #1240: memory leak in JDBC driver build 215  (Roland Walter <rwa@mosaic-ag.com>)
List pgsql-bugs
> 328   [main] DEBUG com.mosaicag.rwa.dbutil.standard.DefaultCsvExport  -
> executing SQL-Stmt: SELECT * FROM transaction WHERE transaction_date >=
> to_timestamp('01.01.2002', 'DD.MM.YYYY') AND transaction_date <
> to_timestamp('01.01.2003', 'DD.MM.YYYY')
> java.lang.OutOfMemoryError
> Exception in thread "main"

Maybe the JDBC drivier tries to allocate the whole result of the query?
If so, it is not a memory leak, it's a big memory need;-)

You might try using a cursor manually (well, if it is the problem, then it
just shows that jdbc should do it by default). Something like:

DECLARE CURSOR foo FOR your-select-query...;
FETCH FORWARD 10 FROM foo;
FETCH FORWARD 10 FROM foo;
FETCH FORWARD 10 FROM foo;
...
CLOSE foo;

Hope this help.

--
Fabien Coelho - coelho@cri.ensmp.fr

pgsql-bugs by date:

Previous
From: "PostgreSQL Bugs List"
Date:
Subject: BUG #1240: memory leak in JDBC driver build 215
Next
From: Fabien COELHO
Date:
Subject: error in simple sql function breaks connection