Question about refcursors - Mailing list pgsql-jdbc

From Thomas Kellerer
Subject Question about refcursors
Date
Msg-id fftr98$uhk$1@ger.gmane.org
Whole thread Raw
Responses Re: Question about refcursors  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
Hi,

I'm trying to add support for refcursors in my JDBC tool and while trying out
the examples in the docs
(<http://jdbc.postgresql.org/documentation/82/callproc.html#callproc-resultset>)

I stumbled over something where I'm not sure whether this is intended or simply
something which was never thought of.


My generic code to call the procedure does basically a prepareCall() (but not
with the "? =" as I cannot distinguish between a function and a procedure at
that moment. And it seems to be working.

Now after running the procedure (using execute()) I'm (generically) calling
getResultSet() on the statement object. And indeed the driver does return a
ResultSet, but it seems that the actual result of the call is "hidden" inside
one of the columns of the resultset. If I do a getObject() on that resultset I
get another result set which indeed is the result of my SELECT in the procedure.

My question: is there a reason why the "real" result cannot be obtained using
getResultSet() but is wrapped into another ResultSet?

I can check the database to find out if a function or a procedure is called, but
it would be really cool, if the driver could handle that for me.

I am aware that I'm not using the calls 100% according to the API and the
documentation, but still :)

Cheers
Thomas

pgsql-jdbc by date:

Previous
From: Marek Lewczuk
Date:
Subject: Re: AbstractJdbc2Array - another patch
Next
From: Kris Jurka
Date:
Subject: Re: Question about refcursors