You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Legolas Woodland <le...@gmail.com> on 2006/04/17 22:54:44 UTC

Re: how to apply transactional insert is a scenario that 3 tables are going to change?

Oystein Grovlen - Sun Norway wrote:
> Legolas Woodland wrote:
>>
>>
>> Hi thank you for reading my post
>> How i can apply transaction in a scenario like this :
>>
>> In one of my web applicatinon page , i have 3 functions that each of 
>> them update/insert data to a table
>> I use connection pool to retrieve a connection in each of those 
>> functions (i can use one connection for all of functions but i do not 
>> know whether it is  good or not).
>> Now the changes to database just should be applied if all of those 
>> functions insert data sucessfully.
>> my problem is that i do not know how i can use transaction in this case.
>
> If you want to run all functions in the same transaction, they need to 
> use the same connection.
>
>>
>> I need just the transaction over these inserts , which kind of commit 
>> mode i should use?
>
> How about something like this:
>
> Connection conn = getConnectionFromPool();
> conn.setAutoCommit(false);
> boolean s1 = f1(conn);
> boolean s2 = f2(conn);
> boolean s3 = f3(conn);
> if (s1 && s2 && s3) {
>     conn.commit();
> } else {
>     conn.rollback();
> }
>
Thank you for reply , Shall we call rollback , or driver will not commit 
the changes until we call commit ?
How i should determine values of those boolean ?


Thanks