Subject Re: [Firebird-Java] CallableStatement returning a ResultSet!
Author Roman Rokytskyy
> I have resolved the problem. I updated the jdbc
> jaybird driver from 1.5.0 to 1.5.4 and also added the
> following line before executing the statement:
>
> ((FirebirdCallableStatement)cs).setSelectableProcedure(true);

Yes, that's another way to do this, but it is Firebird-specific.

The story for this parameter:

As I wrote in my previous post, the only chance to get result set from
selectable procedure is to use SELECT * FROM syntax. When selectable
procedure is executed via EXECUTE PROCEDURE, only first row is fetched.

JayBird supports escaped syntax for callable statements: {call ...} or
{?=call ...}. We parse the procedure call, and convert it into the
Firebird-specific syntax. By default it is converted into EXECUTE PROCEDURE
call. However, there is no chance to get information whether this procedure
is selectable or not. So, in order to be able to use SELECT * FROM syntax
instead of EXECUTE PROCEDURE, application must give us a hint.

Can you prepare a small article that we can post in into our Wiki?
Unfortunately I have no time to do this myself.

Roman