Update of /var/cvs/src/org/mmbase/storage/implementation/database
In directory james.mmbase.org:/tmp/cvs-serv11751
Modified Files:
ViewDatabaseStorageManager.java
RelationalDatabaseStorageManager.java
Log Message:
MMB-1680
See also:
http://cvs.mmbase.org/viewcvs/src/org/mmbase/storage/implementation/database
See also: http://www.mmbase.org/jira/browse/MMB-1680
Index: ViewDatabaseStorageManager.java
===================================================================
RCS file:
/var/cvs/src/org/mmbase/storage/implementation/database/ViewDatabaseStorageManager.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- ViewDatabaseStorageManager.java 2 Mar 2007 21:03:05 -0000 1.11
+++ ViewDatabaseStorageManager.java 23 Jul 2008 05:12:09 -0000 1.12
@@ -27,7 +27,7 @@
/**
* @javadoc
*
- * @version $Id: ViewDatabaseStorageManager.java,v 1.11 2007/03/02 21:03:05
nklasens Exp $
+ * @version $Id: ViewDatabaseStorageManager.java,v 1.12 2008/07/23 05:12:09
michiel Exp $
* @since MMBase-1.8
*/
public class ViewDatabaseStorageManager extends DatabaseStorageManager {
@@ -130,30 +130,32 @@
* @param builder the builder to change the node in
* @throws StorageException if an error occurred during change
*/
- public void change(MMObjectNode node, MMObjectBuilder builder) throws
StorageException {
+ public int change(MMObjectNode node, MMObjectBuilder builder) throws
StorageException {
boolean localTransaction = !inTransaction;
if (localTransaction) {
beginTransaction();
}
try {
+ int res = 0;
if (factory.hasOption("database-supports-update-triggers")) {
- super.change(node, builder);
+ res = super.change(node, builder);
} else {
do {
- changeObject(node,builder);
+ res = changeObject(node,builder);
builder = builder.getParentBuilder();
} while (builder!=null);
}
if (localTransaction) {
commit();
}
+ return res;
} catch (StorageException se) {
if (localTransaction && inTransaction) rollback();
throw se;
}
}
- private void changeObject(MMObjectNode node, MMObjectBuilder builder) {
+ private int changeObject(MMObjectNode node, MMObjectBuilder builder) {
List<CoreField> changeFields = new ArrayList<CoreField>();
// obtain the node's changed fields
Collection<String> fieldNames = node.getChanged();
@@ -163,7 +165,7 @@
changeFields.add(field);
}
}
- change(node, builder, getTableName(builder), changeFields);
+ return change(node, builder, getTableName(builder), changeFields);
}
/**
Index: RelationalDatabaseStorageManager.java
===================================================================
RCS file:
/var/cvs/src/org/mmbase/storage/implementation/database/RelationalDatabaseStorageManager.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- RelationalDatabaseStorageManager.java 3 Feb 2008 17:33:57 -0000
1.12
+++ RelationalDatabaseStorageManager.java 23 Jul 2008 05:12:09 -0000
1.13
@@ -22,7 +22,7 @@
*
* @author Pierre van Rooden
* @since MMBase-1.7
- * @version $Id: RelationalDatabaseStorageManager.java,v 1.12 2008/02/03
17:33:57 nklasens Exp $
+ * @version $Id: RelationalDatabaseStorageManager.java,v 1.13 2008/07/23
05:12:09 michiel Exp $
*/
public class RelationalDatabaseStorageManager extends DatabaseStorageManager {
@@ -76,17 +76,19 @@
* @param builder the builder to change the node in
* @throws StorageException if an error occurred during change
*/
- public void change(MMObjectNode node, MMObjectBuilder builder) throws
StorageException {
+ public int change(MMObjectNode node, MMObjectBuilder builder) throws
StorageException {
boolean localTransaction = !inTransaction;
if (localTransaction) {
beginTransaction();
}
try {
+ int res = 0;
do {
- super.change(node, builder);
+ res = super.change(node, builder);
builder = builder.getParentBuilder();
- } while (builder!=null);
+ } while (builder != null);
if (localTransaction) commit();
+ return res;
} catch (StorageException se) {
if (localTransaction && inTransaction) rollback();
throw se;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs