You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kristian Waagan (JIRA)" <ji...@apache.org> on 2009/09/01 16:06:32 UTC

[jira] Updated: (DERBY-4314) With derby client setTransactionIsolation executes and commits even if isolation has not changed

     [ https://issues.apache.org/jira/browse/DERBY-4314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Waagan updated DERBY-4314:
-----------------------------------

    Attachment: derby-4314-6a-initial_piggybacking.stat
                derby-4314-6a-initial_piggybacking.diff

Attaching patch 6a, which demonstrates the piggy-backing of session data on connection initialization.

Comments on the approach/patch is welcome.
Note the following:
 - I inserted the PBSD (session data code point(s)) at the end of the ACCRDB reply. Is this allowed by the DRDA standard?
   It will only be sent if the client is Derby and the version is 10.6 or greater.
 - I have not yet implemented the change suggested, where the isolation level is initialized to READ_COMMITTED unconditionally in the client.
 - The extra completeInitialPiggyBackSchema method was added because the debug assert fails with NPE (the metadata object hasn't been created yet, this happens in completeConnection).
 - My test run hasn't completed yet.

> With derby client setTransactionIsolation executes and commits even if isolation has not changed 
> -------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4314
>                 URL: https://issues.apache.org/jira/browse/DERBY-4314
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Network Client
>    Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.1.1, 10.6.0.0
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: DERBY-4314-2.diff, DERBY-4314-3.diff, DERBY-4314-5.diff, derby-4314-6a-initial_piggybacking.diff, derby-4314-6a-initial_piggybacking.stat, DERBY-4314.diff
>
>
> With in EmbedConnection.setIsolation() we have a check to see if the isolation level is the same and if so just return without doing a commit:
>   public void setTransactionIsolation(int level) throws SQLException {
> 		if (level == getTransactionIsolation())
> 			return;
> with org.apache.derby.client.am.Connection we have no such check. It would be good if the client driver acted like embedded.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.