From: | Dave Tenny <tenny(at)attbi(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [JDBC] Out of memory error on huge resultset |
Date: | 2002-10-16 11:55:07 |
Message-ID: | 20021016115515.PZLP11063.rwcrmhc52.attbi.com@there |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> > > > To work
> > > > around this you can use explicit cursors (see the DECLARE CURSOR,
> > > > FETCH, and MOVE sql commands for postgres).
I'm unable to get this to work using the default distribution JDBC driver.
(7.2). Here's a code snippet
conn.setAutoCommit(false) ;
stmt.execute("BEGIN") ;
stmt.execute("DECLARE mysursor CURSOR FOR SELECT icol FROM mtable") ;
ResultSet rs = null ;
if (stmt.execute("FETCH 10000 IN mycursor"))
rs = stmt.getResultSet() ;
The FETCH statement returns an update count of 1, but no ResultSet.
If I try executeQuery, a "no rows found" exception is thrown.
Equivalent code in the C library interface works just fine.
I need a workaround, because default ResultSet processing in the JDBC
driver (and also the jxDBCon driver) pretty much blow out the memory
of the JVM.
From | Date | Subject | |
---|---|---|---|
Next Message | snpe | 2002-10-16 12:40:07 | Re: [JDBC] Out of memory error on huge resultset |
Previous Message | Denis A Ustimenko | 2002-10-16 09:50:47 | Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c |