You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by dl...@apache.org on 2001/08/23 22:14:58 UTC

cvs commit: jakarta-turbine-2/src/java/org/apache/turbine/om/peer BasePeer.java

dlr         01/08/23 13:14:58

  Modified:    src/java/org/apache/turbine/om/peer BasePeer.java
  Log:
  patch by Jerome Verleyen <je...@ibt.unam.mx> to properly handle
  deletions for RDBMSs which need transactions for object data.
  
  Revision  Changes    Path
  1.3       +23 -3     jakarta-turbine-2/src/java/org/apache/turbine/om/peer/BasePeer.java
  
  Index: BasePeer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/om/peer/BasePeer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- BasePeer.java	2001/08/16 22:49:25	1.2
  +++ BasePeer.java	2001/08/23 20:14:58	1.3
  @@ -111,7 +111,7 @@
    * @author <a href="mailto:frank.kim@clearink.com">Frank Y. Kim</a>
    * @author <a href="mailto:john.mcnally@clearink.com">John D. McNally</a>
    * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
  - * @version $Id: BasePeer.java,v 1.2 2001/08/16 22:49:25 gonzalo Exp $
  + * @version $Id: BasePeer.java,v 1.3 2001/08/23 20:14:58 dlr Exp $
    */
   public abstract class BasePeer
   {
  @@ -470,15 +470,35 @@
           throws Exception
       {
           DBConnection dbCon = null;
  +
  +        // Transaction stuff added for postgres.
  +        boolean doTransaction = (TurbineDB.getDB(criteria.getDbName()).
  +            objectDataNeedsTrans() &&
  +            criteria.containsObjectColumn(criteria.getDbName()));
  +
           try
           {
               // Get a connection to the db.
  -            dbCon = TurbineDB.getConnection( criteria.getDbName() );
  +            if (doTransaction)
  +            {
  +                dbCon = beginTransaction(criteria.getDbName());
  +            }
  +            else
  +            {
  +                dbCon = TurbineDB.getConnection( criteria.getDbName() );
  +            }
               doDelete(criteria, dbCon);
           }
           finally
           {
  -            TurbineDB.releaseConnection(dbCon);
  +            if (doTransaction)
  +            {
  +                commitTransaction(dbCon);
  +            }
  +            else
  +            {
  +                TurbineDB.releaseConnection(dbCon);
  +            }
           }
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org