On Tue, 26 Apr 2005, Dave Minter wrote:
>
> I'm puzzled. I'm trying to invoke a PG/plSQL function as a callable
> statement. The function takes one parameter, inserts it into a table,
> and returns. Since I'm not selecting anything and I have no (or rather,
> only a void) return parameter, I expected to be able to call
> executeUpdate() on the CS to have this take effect - but I get this
> error message:
>
> org.postgresql.util.PSQLException:
> A result was returned when none was expected.
>
> If I call executeQuery, then it works perfectly (but that causes
> problems with a 3rd party tool I'm using which expects a pure-insertion
> sproc to be comfortable with a call to executeUpdate).
This is how the driver works, it replaces {call myfunc()} with SELECT *
FROM myfunc, which will always return a ResultSet. It seems we could
special case CallableStatements version to expect and ignore a result when
executeUpdate is called.
Kris Jurka