[ 
http://issues.apache.org/jira/browse/DERBY-1101?page=comments#action_12370247 ] 

Daniel John Debrunner commented on DERBY-1101:
----------------------------------------------

This code

 if (theResults instanceof TemporaryRowHolderResultSet || 

is pushing knowledge of the underlying implementation layers up into the JDBC 
layer,
ideally JDBC layer should just be dealing with the interfaces specified by the 
language layer.

I have a long term idea for improving performance by removing most/all runtime 
statistics code from
any language ResultSet implementation, and instead having it in a single 
delegation/wrapper
language ResultSet. Thus when runtime statistics is enabled each real 
implementation of a language
ResultSet would be wrapped in one of these runtime statistics  that would 
maintain costs, timing etc.
Currently this is not an easy change because there is code that performs 
specific instanceof checks
on ResultSet references in various places, which is really a breakdown of 
modularity.

I'd be more interested to know why TemporaryRowHolderResultSet is breaking the 
contract of getActivation.

Not sure why a field is needed in EmbedResultSet, when the activation already 
maintains the state, it seems a
bug to me that TemporaryRowHolderResultSet  is not honouring its contract.

> 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

Reply via email to