If ibatis can catch the exception in the program, rollback will work fine. Could the failure of the transaction in ibatis because of the network lost or tomcat server shutting down during the procedure.


For instance, in java program

set autocommit = false;
startTranaction
 insert ...              // step1
 update ...            //step2

 /* Error */
 Network lost to DB server or Tomcat server unexceptly shutting down?

 delete          //step3
commitChanges;

Could it because of the communication interrupt between the Web Server and DB server during the atomic transaction? As a result, step1 & step2 runs successfully in Database, while step3 failed. Also, rollback failed?



On Thu, 2005-09-22 at 14:59, Emi Lu wrote:
We are using (struts) ibates to run the transaction. We already setup autocommitte = false, and put insert, update, delete into one transaction. However, we found data were not rollback successfully. Moreover, in our atomic transaction, some operations are not finished successfull, but the data are not rollback.

Your inputs are very welcomed!

I would tend to think it's either a bug in struts or jdbc or you're
making some mistake somewhere.  I'm not familiar with struts and
postgresql together.

You might try logging ALL your SQL statements and seeing what is
actually being sent back and forth between struts / java and postgresql.

Not sure what else to do, as I use libpq to access postgresql, meaning
no layer between my app and pgsql, like with jdbc / struts.

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend


---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to