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

Reply via email to