[
https://issues.apache.org/jira/browse/DERBY-4314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12732939#action_12732939
]
Kathey Marsden commented on DERBY-4314:
---------------------------------------
Thanks Lily for looking at this issue. Here are some comments.
- I think it would be good to put the check after the trace call so the call
will still get logged if tracing is on.
- In the test, I guess we can just remove the whole switch statment
passCommitCheck etc. and just have.
assertEquals(1,count); since the behavior is the same for the drivers. The
comment in the beginning of the test is no longer relevant and maybe the
fixture name should be changed to testSetTransactionIsolationDoesNotCommit() or
some such.
- I guess there was already an issue for this DERBY-2064 which should be duped
to this one, since you are posting your work here.
- I think calling getTransactionIsolation() will introduce another server
round trip to get the isolation if it is not cached. Under what circumstances
will the isolation be cached or not cached? Is this a performance issue or does
it happen rarely?
- Also calling getTransactionIsolation() directly will cause the
getTransactionIsolation call to get traced which it probably shouldn't. We
might need to make a getTransactionIsolationX() which does the work but doesn't
have the tracing call. and then have the X method called by
getTransasctionIsolation() and setTransactionIsolation()
> 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.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.