db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1101) ResultSet.getHoldabilty will return incorrect value when the ResultSet is obtained from a procedure call
Date Mon, 13 Mar 2006 21:55:42 GMT
    [ 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
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
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

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:
>     Reporter: Daniel John Debrunner
>     Priority: Minor
>  Attachments: testderby1101.java
> EmbedResultSet40.getHoldability returns the holdability of the statement returned by
> 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:
For more information on JIRA, see:

View raw message