hi again,
sorry about the repost, but nobody replied ...
i think this is essential for postgresql when working with the turbine-user
classes
repost:
hi,
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..
i do not know whether BasePeer.deleteAll (String table, String column, int
value)
should be "fixed" - could only work with the default database. if it makes
sense, i
will send a patch
the diff below was generated with -w, i hope, you can use it the way it is
(got totally useless diffs without it - is there a lot of whitespaces in
the sources?)
Julia
Index: ./peer/BasePeer.java
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine/src/java/org/apache/turbine/om/peer/BasePeer.java,v
retrieving revision 1.63
diff -w -u -r1.63 BasePeer.java
--- ./peer/BasePeer.java 2001/05/23 15:12:05 1.63
+++ ./peer/BasePeer.java 2001/06/08 16:48:54
@@ -459,6 +459,26 @@
public static void doDelete(Criteria criteria)
throws Exception
{
+ // Transaction stuff added for postgres.
+ if (TurbineDB.getDB(criteria.getDbName())
+ .objectDataNeedsTrans() &&
+ criteria.containsObjectColumn(criteria.getDbName()))
+ {
+ DBConnection dbCon = beginTransaction(criteria.getDbName());
+ try
+ {
+ doDelete(criteria, dbCon);
+ commitTransaction(dbCon);
+ }
+ catch (Exception e)
+ {
+ // make sure to return connection
+ rollBackTransaction(dbCon);
+ throw e;
+ }
+ }
+ else
+ {
DBConnection dbCon = null;
try
{
@@ -471,6 +491,7 @@
TurbineDB.releaseConnection(dbCon);
}
}
+ }
/**
* Method to perform deletes based on values and keys in a
@@ -2191,3 +2212,4 @@
}
}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]