On Tue, 1 Apr 2008, Albe Laurenz 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()} ?
Kris Jurka