[
https://issues.apache.org/jira/browse/DERBY-3247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel John Debrunner updated DERBY-3247:
-----------------------------------------
Derby Info: [Patch Available]
> Activation for a dynamic ResultSet created from an Prepared/CallableStatement
> will not be closed until garbage collection indicates it is unused to the LCC
> and the LCC closes it
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3247
> URL: https://issues.apache.org/jira/browse/DERBY-3247
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.3.1.4, 10.4.0.0
> Reporter: Daniel John Debrunner
> Assignee: Daniel John Debrunner
> Priority: Minor
> Attachments: derby3247_diff.txt
>
>
> In a Java procedure called from SQL any dynamic ResultSets that are created
> using a PreparedStatement or CallableStatement leave their activations open
> until :
> - the statement that created it is garbage collected (which requires the
> outer statement to be garbage collected)
> - and the LCC processes unused Activations.
> Dynamic ResultSets that are created by a Statement object are handled
> correctly because they are marked single use activation and thus the close of
> the ResultSet also closes the activation.
> Fix is to mark the activation as single use in EmbedResultSet when the
> EmbedResultSet is marked as being a dynamic ResultSet. This will then lead to
> the close of the ResultSet also closing the activation.
> Can't see how to write a test for this, I can see the activations stacking up
> in a debugger, but typically there will be no visible user impact.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.