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/06/11 19:28:32 UTC

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

dlr         01/06/11 10:28:32

  Modified:    src/java/org/apache/turbine/om/peer BasePeer.java
  Log:
  Hand-merged patch by Julia Stobbe <st...@projust.de>:
  
  there was a little oversight when adding transaction support for postgresql.
  
  doDelete was overlooked, so it returns the cryptic FastPath Call Error -
  postgres can deal with LOBs only in transactions..
  
  Revision  Changes    Path
  1.64      +31 -7     jakarta-turbine/src/java/org/apache/turbine/om/peer/BasePeer.java
  
  Index: BasePeer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/om/peer/BasePeer.java,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- BasePeer.java	2001/05/23 15:12:05	1.63
  +++ BasePeer.java	2001/06/11 17:28:32	1.64
  @@ -61,6 +61,7 @@
   import com.workingdogs.village.Record;
   import com.workingdogs.village.Schema;
   import com.workingdogs.village.TableDataSet;
  +
   import java.io.BufferedOutputStream;
   import java.io.ByteArrayOutputStream;
   import java.io.FilterOutputStream;
  @@ -78,6 +79,7 @@
   import java.util.Iterator;
   import java.util.List;
   import java.util.Vector;
  +
   import org.apache.turbine.TurbineConstants;
   import org.apache.turbine.om.NumberKey;
   import org.apache.turbine.om.ObjectKey;
  @@ -89,6 +91,7 @@
   import org.apache.turbine.services.resources.TurbineResources;
   import org.apache.turbine.util.Log;
   import org.apache.turbine.util.StringStackBuffer;
  +import org.apache.turbine.util.TurbineException;
   import org.apache.turbine.util.db.Criteria;
   import org.apache.turbine.util.db.IdGenerator;
   import org.apache.turbine.util.db.Query;
  @@ -111,7 +114,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.63 2001/05/23 15:12:05 mikeh Exp $
  + * @version $Id: BasePeer.java,v 1.64 2001/06/11 17:28:32 dlr Exp $
    */
   public abstract class BasePeer
   {
  @@ -460,15 +463,36 @@
           throws Exception
       {
           DBConnection dbCon = null;
  -        try
  +        String dbName = criteria.getDbName();
  +
  +        // Do the work, assuring the database connection is released.
  +        if (TurbineDB.getDB(dbName).objectDataNeedsTrans() &&
  +            criteria.containsObjectColumn(dbName))
           {
  -            // Get a connection to the db.
  -            dbCon = TurbineDB.getConnection( criteria.getDbName() );
  -            doDelete(criteria, dbCon);
  +            // For PostgreSQL and LOBs.
  +            try
  +            {
  +                dbCon = beginTransaction(criteria.getDbName());
  +                doDelete(criteria, dbCon);
  +                commitTransaction(dbCon);
  +            }
  +            catch (Exception e)
  +            {
  +                rollBackTransaction(dbCon);
  +                throw new TurbineException(e);
  +            }
           }
  -        finally
  +        else
           {
  -            TurbineDB.releaseConnection(dbCon);
  +            try
  +            {
  +                dbCon = TurbineDB.getConnection(dbName);
  +                doDelete(criteria, dbCon);
  +            }
  +            finally
  +            {
  +                TurbineDB.releaseConnection(dbCon);
  +            }
           }
       }
   
  
  
  

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