[
https://issues.apache.org/jira/browse/DERBY-4869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-4869:
---------------------------------
Attachment: derby-4869-21-aa-implicitlyClosedResultSets.diff
Attaching derby-4869-21-aa-implicitlyClosedResultSets.diff. This patch causes
closeOnCompletion() Statements to close when their forward-only ResultSets
implicitly close after being drained in autocommit mode.
The change to EmbeddedResultSet seemed straightforward.
I have misgivings about the change to the network ResultSet. I think that the
Statement-closing trigger should be placed in the markClosed() method. However,
when I put the trigger there, I see protocol errors. It seems that that method
is called from inside the network protocol itself. That looks like a layering
problem to me: I don't think that the network layer should be calling back up
into the JDBC layer. Fixing that layering problem looks like a mini-project
outside the scope of the current issue.
Touches the following files:
-------------
M java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java
Change to embedded behavior.
-------------
M java/client/org/apache/derby/client/am/ResultSet.java
Change to network behavior.
-------------
M
java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/StatementTest.java
Test to verify Statement closure when a ResultSet implicitly closes.
> Implement JDBC 4.1, the api increment introduced by Java 7
> ----------------------------------------------------------
>
> Key: DERBY-4869
> URL: https://issues.apache.org/jira/browse/DERBY-4869
> Project: Derby
> Issue Type: Improvement
> Components: JDBC
> Reporter: Rick Hillegas
> Assignee: Rick Hillegas
> Attachments: derby-4869-01-ac-rs-getObject.diff,
> derby-4869-01-ad-rs-getObject.diff, derby-4869-02-aa-cs-ps-addBatch.diff,
> derby-4869-02-ab-cs-ps-addBatch.diff,
> derby-4869-03-aa-rs-getObject-errorCleanup.diff,
> derby-4869-04-aa-rs-getObject-simplification.diff,
> derby-4869-05-aa-rs-getObject-exception.diff,
> derby-4869-06-aa-cs-getObject.diff, derby-4869-06-ab-cs-getObject.diff,
> derby-4869-07-aa-timedisplacement.diff, derby-4869-08-ac-nullHandling.diff,
> derby-4869-09-ac-abort.diff, derby-4869-10-aa-abortSecurityTest.diff,
> derby-4869-11-aa-abortHidePrivates.diff,
> derby-4869-12-aa-xaAndPooledAborts.diff,
> derby-4869-13-aa-xaAndPooledAbortsSecurityManager.diff,
> derby-4869-14-ac-closeOnCompletion.diff, derby-4869-15-aa-autoGenKeys.diff,
> derby-4869-16-aa-clarifyStatementSpec.diff,
> derby-4869-17-aa-statementTimeoutException.diff,
> derby-4869-18-aa-getSetSchema.diff,
> derby-4869-19-aa-getSetNetworkTimeout.diff,
> derby-4869-20-aa-setSchemaFastPath.diff,
> derby-4869-21-aa-implicitlyClosedResultSets.diff,
> derby-4869-22-aa-unstableStatementTest.diff,
> derby-4869-exp-01-aa-noTryCatch.diff, disable-tests.diff,
> JDBC_4.1_Changes.html, timezone.diff
>
>
> This is a master issue logged to track our work implementing JDBC 4.1, the
> changes to the java.sql and javax.sql packages introduced by Java 7.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.