Re: Refcursor bug

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Altaf Malik <mmalik_altaf(at)yahoo(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Refcursor bug
Date: 2007-04-27 12:40:34
Message-ID: E8896A9E-6102-4733-B0BA-0322028B7821@fastcrypt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Did this work in previous versions ?

I made a change recently which closes the refcursor immediately after
reading it, because it was leaking on large batches

Dave
On 27-Apr-07, at 8:20 AM, Altaf Malik wrote:

> Hi,
> I encountered a bug with refcursors with the latest JDBC driver. I
> cannot get two refcursors as OUT parameter if both of them point to
> the same underlying refcursor.
>
> Steps to produce:
> 1- Create table:
> CREATE TABLE testref ( a int4, b varchar);
>
> 2-Create the function:
> CREATE OR REPLACE FUNCTION reftwo(
> A OUT REFCURSOR, B OUT REFCURSOR)
> RETURNS record AS $$ DECLARE
> V_REF REFCURSOR;
> BEGIN
> OPEN V_REF FOR SELECT * FROM testref;
> A:=V_REF;
> B:=V_REF;
> END; $$ LANGUAGE 'plpgsql'
>
> 3- Run the following code:
>
> con.setAutoCommit(false);
> CallableStatement stm = con.prepareCall("{call reftwo(?,?)}");
> stm.registerOutParameter(1,Types.OTHER);
> stm.registerOutParameter(2,Types.OTHER);
> stm.execute();
> ResultSet rs = (ResultSet) stm.getObject(1);
> ResultSet rs2 = (ResultSet) stm.getObject(2);
> con.setAutoCommit(true);
>
> When i execute this code, it reports the following problem:
> org.postgresql.util.PSQLException: ERROR: cursor "<unnamed portal
> 1>" does not exist
>
> Am i doing something wrong?
>
> --Altaf Malik
>
> Ahhh...imagining that irresistible "new car" smell?
> Check out new cars at Yahoo! Autos.

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Altaf Malik 2007-04-27 13:02:44 Re: Refcursor bug
Previous Message Altaf Malik 2007-04-27 12:20:04 Refcursor bug