View Single Post

   
  #4 (permalink)  
Old 04-16-2008, 01:00 AM
Albe Laurenz
 
Posts: n/a
Default Re: CallableStatement and getUpdateCount

Kris Jurka wrote:
> > Hmmm. getUpdateCount() is defined in
> > org/postgresql/jdbc2/AbstractJdbc2Statement.java as
> >
> > if (isFunction)
> > return 1;

>
> I would guess that this code was conceived without regard to returning
> sets. For code that does {? = call f()} you expect the caller to fetch
> the result using CallableStatement.getXXX() so that's why the code isn't
> indicating that a ResultSet is returned even though there is one under the
> hood. The JDBC driver has no idea whether the function it's calling is
> returning a SETOF or not, so it can't use that to determine what to return
> for getUpdateCount.
>
> Perhaps we can differentiate between calls of the form {call f()} and {? =
> call f()} ?


If I understood correctly then there *is* a result set in the case mentioned.

Would it work as desired if the two checks in getUpdateCount were reversed?

if (result.getResultSet() != null)
return -1;

if (isFunction)
return 1;

Or is there a problem I do not see?

Yours,
Laurenz Albe

--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

Reply With Quote