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
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.