ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cornel Antohi" <cant...@kepler-rominfo.com>
Subject Re: Autocommit not properly handled in Ibatis.
Date Tue, 23 Jan 2007 08:43:49 GMT
Hi Clinton and Richard,

My mistake ... I better understand the meaning of "iBATIS never uses 
AutoCommit" now.

May I ask you if iBATIS uses commit() or rollback() in case of a single 
SELECT statement? If not, the spec says: "Otherwise, its SQL statements are 
grouped into transactions that are terminated by a call to either the method 
commit or the method rollback."

Thank you,
Cornel


----- Original Message ----- 
From: "Clinton Begin" <clinton.begin@gammagarage.com>
To: <user-java@ibatis.apache.org>
Sent: Monday, January 22, 2007 7:09 PM
Subject: Re: Autocommit not properly handled in Ibatis.


> Cornel,
>
> Richard is right.  You're unfortunately mistaken.  The following is an
> excerpt from the documentation you responded with:
>
> 'If a connection is in auto-commit mode, then all its SQL statements
> will be executed and committed as individual transactions. Otherwise,
> its SQL statements are grouped into transactions that are terminated
> by a call to either the method commit or the method rollback."
>
> iBATIS always commits or rolls back transactions explicitly with
> commit() and rollback().
>
> Clinton
>
> On 1/22/07, Cornel Antohi <cantohi@kepler-rominfo.com> wrote:
>>
>>
>> Hi Richard,
>>
>> I do not agree with you:
>> http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#setAutoCommit(boolean)
>>
>> Thank you,
>> Cornel
>>
>> ----- Original Message -----
>> From: Yee, Richard K CTR DMDC
>> To: 'user-java@ibatis.apache.org'
>>
>> Sent: Monday, January 22, 2007 6:42 PM
>> Subject: RE: Autocommit not properly handled in Ibatis.
>>
>>
>> Antohi,
>> It looks to me that the code does exactly what Clinton says. If 
>> autocommit
>> is on, iBATIS turns it off and thus does not use autocommit to commit
>> changes to the DB.
>>
>> -Richard
>>
>>
>>
>> -----Original Message-----
>> From: Cornel Antohi [mailto:cantohi@kepler-rominfo.com]
>> Sent: Monday, January 22, 2007 2:37 AM
>> To: user-java@ibatis.apache.org
>> Subject: Re: Autocommit not properly handled in Ibatis.
>>
>>
>> Hi Clinton,
>>
>> 1) What do you mean by "iBATIS never uses AutoCommit"? Here is what I 
>> found
>> in:
>>
>> com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction
>> --> private void init() throws SQLException, TransactionException
>> // AutoCommit
>> if (connection.getAutoCommit()) {
>>     connection.setAutoCommit(false);
>> }
>>
>>
>> Thank you,
>> Cornel
>>
>> ----- Original Message -----
>> From: "Clinton Begin" <clinton.begin@gmail.com>
>> To: <user-java@ibatis.apache.org>
>> Sent: Friday, January 19, 2007 8:52 AM
>> Subject: Re: Autocommit not properly handled in Ibatis.
>>
>> A few things:
>>
>> 1) iBATIS never uses AutoCommit.
>>
>> 2) setCommitRequired has nothing to do with AutoCommit.  iBATIS uses
>> deferred commits to avoid unecessary commits when no non-queries have
>> been issued.  And setCommitRequired is actually parameterized and can
>> be set with <transactionManager ... commitRequired="true">
>>
>> 3) You'll need to post your code so we can see what it's doing.  Are
>> you calling startTransaction()?  Are you using setUserConnection?  Or
>> openSession(conn)?
>>
>> I'm sure with the right information we can resolve this for you easily.
>>
>> Clinton
>>
>> On 1/18/07, Yuvraj Shinde <Yuvraj.Shinde@sos.sungard.com> wrote:
>> >
>> >
>> >
>> >
>> > Hi all,
>> >
>> >
>> >
>> >    I want to know how to handle auto commit in ibatis.if I am saving 
>> > two
>> > records and if I get an exception while saving second record the first
>> > record saved should be rolled back.
>> >
>> >   But ibatis is saving the first record. How I should handle this even
>> > though the auto commit property is explicitly set to false.
>> >
>> >
>> >
>> >    Even though AutoCommit value is set to false. Rollback of 
>> > Transaction
>> is
>> > not working.
>> >
>> >    I found one Issue in GeneralStatement.java.
>> >
>> >    On line 52  request.getSession().setCommitRequired(true);
>> >
>> >
>> >
>> >    Here Auto commit is hard coded it should be parameterized so that it
>> will
>> > take value from "Auto commit" property of  SqlMapConfig.xml.
>> >
>> >    Please correct me if I am wrong.please send me a solution.
>> >
>> >
>> >
>> > Regards
>> >
>> > Yuvrajs
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > Yuvraj Shinde * Senior Software Engineer -  Zainet*  SunGard * Offshore
>> > Services *
>> >  Pride Portal,CTS No 103A/5A/1A/1B Bhamburda,Senapati Bapat Road,
>> > shivajinagar,Pune 411016
>> >  Tel Direct +91 20 66248045 * Main +91 20 66248000 * Fax +91 20 
>> > 25606222
>> >  yuvraj.shinde@sos.sungard.com * www.sungard.com
>> >
>> >
>> >
>> >
>> > Success is never ending and failure is never final.
>> >
>> > 


Mime
View raw message