[
http://issues.apache.org/jira/browse/DERBY-1101?page=comments#action_12370189 ]
Daniel John Debrunner commented on DERBY-1101:
----------------------------------------------
Thanks for following up on this Knut, you said:
> Since the ResultSet object was produced by a Statement internally in
> the stored procedure, and not by the Statement which called the
> procedure, I believe the current implementation of
> EmbedResultSet.getStatement() is correct.
I'm not sure, for four reasons:
1) It's impossible to match this behaviour in client mode.
2) Logically the statement that created the JDBC ResultSet is the one that
executed
the CALL statement. I think the model defined by the SQL standard is that
the
JDBC ResultSet created within the procedure is turned into a SQL result set
by the database engine and then the client JDBC creates a JDBC ResultSet
from
the SQL result set. It just so happens that Derby can omit the conversion
into
an internal ResultSet.
3) Once Derby supports SQL procedures, and a JDBC ResultSet is returned
then the only Statement that makes sense is the one that invoked the CALL
procedure.
4) JDBC 4.0 - Why was the method ResultSet.getHoldability added? It can
only be because
it can return a different value to
rs.getStatement().getResultSetHoldability().
> ResultSet.getHoldabilty will return incorrect value when the ResultSet is
> obtained from a procedure call
> --------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1101
> URL: http://issues.apache.org/jira/browse/DERBY-1101
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0
> Reporter: Daniel John Debrunner
> Priority: Minor
> Attachments: testderby1101.java
>
> EmbedResultSet40.getHoldability returns the holdability of the statement
> returned by ResultSet.getStatement().
> When a ResultSet is created by a procedure call, its holdability may not
> match the holdability of the Statement that called the procedure, which is
> probably what ResultSet.getStatement() should return.
> This may not be exposed as a bug yet, but I think this method should be
> directly obtaining the holdability of the ResultSet using the
> Activation.getResultSetHoldability() method, rather than through a Statement.
> Seems a safer approach.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira