[
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-09-ac-abort.diff
Attaching derby-4869-09-ac-abort.diff. This is the first increment of support
for Connection.abort(Executor). I will run regression tests.
This patch adds the new abort() method to the JDBC 4.0 physical connections
(EmbedConnection40 and NetConnection40). The abort method does the following:
1) Checks for SQLPermission( "callAbort" ).
2) Marks the physical connection as closed so that new work cannot start in it.
3) Runs the rollback() and close() methods inside the Executor.
This patch also includes a basic test of the physical connections in an
environment which enjoys the correct SQLPermission.
Follow-on patches should supply additional tests. In particular, the following
areas should be explored:
1) Security concerns. Exercise abort() when there is no SecurityManager and
when there is a SecurityManager but the correct SQLPermission has not been
granted to the caller.
2) Calling abort() on pooled connections.
3) Calling abort() on XA connections.
Touches the following files:
-----------
M java/engine/org/apache/derby/impl/jdbc/EmbedConnection40.java
M java/engine/org/apache/derby/impl/jdbc/EmbedConnection.java
M java/engine/org/apache/derby/impl/jdbc/Util.java
Add abort() logic to the embedded physical connection.
-----------
M java/client/org/apache/derby/client/net/NetConnection40.java
M java/client/org/apache/derby/client/am/Connection.java
Add abort() logic to the network physical connection.
-----------
M java/engine/org/apache/derby/iapi/jdbc/BrokeredConnection40.java
M java/client/org/apache/derby/client/am/LogicalConnection40.java
Add abort() forwarding to the wrapper connections.
-----------
M java/drda/org/apache/derby/drda/server.policy
M java/drda/org/apache/derby/drda/template.policy
Add the appropriate new SQLPermission to Derby's policy files.
-----------
A
java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/Wrapper41Conn.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ConnectionMethodsTest.java
M
java/testing/org/apache/derbyTesting/functionTests/util/derby_tests.policy
Basic test for abort().
> 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
> 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-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.