Subject | Re[2]: [Firebird-Architect] RFC: Please unify stored procedure execution |
---|---|
Author | Dmitry Kuzmenko |
Post date | 2004-12-21T13:44:17Z |
Hello, Roman!
Tuesday, December 21, 2004, 4:13:08 PM, you wrote:
RR> The problem is that Java does not distinguish selectable and
RR> non-selectable procedures. JDBC provides a single interface called
RR> CallableStatement, that can be used to execute procedures that return
RR> result sets as well as procedures that do not return result sets.
Than I don't understand. If CallableStatement can call any SQL
statement, than what to care about? If CallableStatement is property
of StoredProc object, or something, than just tell the truth to
driver users that they can't get resultset from stored procedures in
IB/FB. They need to make select (from table, view or SP) to get
resultset.
RR> That's how this is implemented now, but this requires people to link
RR> against our interfaces. And the worser is that there is no change to
RR> ask Firebird whether procedure is selectable or not.
I'm lost now. I gave example of IBStoredProc component in IBX.
There is no any problems with SP or not. People uses IBStoredProc
to Execute procedure, they use IBQuery to call EXECUTE PROCEDURE,
OR to call SELECT * FROM PROCEDURE. Without any need of IBX to know
does select calls procedure or not.
RR> It does this already. But it requires from developer to give us a hint
RR> that I should use SELECT instead of EXECUTE. This hint is the problem,
RR> because it requires linking to the JDBC extension.
??? JDBC can't execute usual SQL SELECT statement without some extention???
--
Dmitri Kouzmenko, www.ibase.ru, (095) 953-13-34
Tuesday, December 21, 2004, 4:13:08 PM, you wrote:
RR> The problem is that Java does not distinguish selectable and
RR> non-selectable procedures. JDBC provides a single interface called
RR> CallableStatement, that can be used to execute procedures that return
RR> result sets as well as procedures that do not return result sets.
Than I don't understand. If CallableStatement can call any SQL
statement, than what to care about? If CallableStatement is property
of StoredProc object, or something, than just tell the truth to
driver users that they can't get resultset from stored procedures in
IB/FB. They need to make select (from table, view or SP) to get
resultset.
RR> That's how this is implemented now, but this requires people to link
RR> against our interfaces. And the worser is that there is no change to
RR> ask Firebird whether procedure is selectable or not.
I'm lost now. I gave example of IBStoredProc component in IBX.
There is no any problems with SP or not. People uses IBStoredProc
to Execute procedure, they use IBQuery to call EXECUTE PROCEDURE,
OR to call SELECT * FROM PROCEDURE. Without any need of IBX to know
does select calls procedure or not.
RR> It does this already. But it requires from developer to give us a hint
RR> that I should use SELECT instead of EXECUTE. This hint is the problem,
RR> because it requires linking to the JDBC extension.
??? JDBC can't execute usual SQL SELECT statement without some extention???
--
Dmitri Kouzmenko, www.ibase.ru, (095) 953-13-34