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