[ http://jira.jboss.com/jira/browse/JBJCA-16?page=history ]
youngm updated JBJCA-16:
------------------------
Description:
In the C-JDBC JDBC Connection driver it uses autoCommit=false to determine if
it is in a transaction when changing readOnly.
Unfortunatly LocalManagedConnection sets autoCommit=false prior to
"checkState()" which synchronizes the readOnly property with the underlying
connection. This approach works fine with most JDBC drivers with but not with
C-JDBC. Looking at the JDBC 3 spec (10.1) JDBC says:
"Typically, a new transaction is started when the current SQL statement
requires one and there is
no transaction already in place."
The key word being "Typically". So it appears that it may be within C-JDBC's
right to declare a transaction started once setAutoCommit=false.
So, would there be any problem with changing LocalManagedConnection.begin() to
call checkState() prior to setting autoCommit in the underlying connection?
Mike
was:
In the C-JDBC JDBC Connection driver it uses autoCommit=false to determine if
it is in a transaction when changing readOnly.
Unfortunatly LocalManagedConnection sets autoCommit=false prior to
"checkState()" which synchronizes the readOnly property with the underlying
connection. This approach works fine with most JDBC drivers with but not with
C-JDBC. Looking at the JDBC 3 spec (10.1) JDBC says:
"Typically, a new transaction is started when the current SQL statement
requires one and there is
no transaction already in place."
The key word being "Typically". So it appears that it may be within C-JDBC's
right to declare a transaction started once setAutoCommit=false.
So, would there be any problem with calling "checkState()" in
LocalManagedConnection prior to setting autoCommit in the underlying connection?
Mike
> Changing readonly after autocommitt set to false fails with C-JDBC Driver
> -------------------------------------------------------------------------
>
> Key: JBJCA-16
> URL: http://jira.jboss.com/jira/browse/JBJCA-16
> Project: JBoss JCA
> Type: Bug
> Versions: JBossAS-4.0.1
> Reporter: youngm
> Assignee: Adrian Brock
>
>
> In the C-JDBC JDBC Connection driver it uses autoCommit=false to determine if
> it is in a transaction when changing readOnly.
> Unfortunatly LocalManagedConnection sets autoCommit=false prior to
> "checkState()" which synchronizes the readOnly property with the underlying
> connection. This approach works fine with most JDBC drivers with but not
> with C-JDBC. Looking at the JDBC 3 spec (10.1) JDBC says:
> "Typically, a new transaction is started when the current SQL statement
> requires one and there is
> no transaction already in place."
> The key word being "Typically". So it appears that it may be within C-JDBC's
> right to declare a transaction started once setAutoCommit=false.
> So, would there be any problem with changing LocalManagedConnection.begin()
> to call checkState() prior to setting autoCommit in the underlying connection?
> Mike
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development