Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-jdbc by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group