Update of /var/cvs/src/org/mmbase/storage/implementation/database
In directory
james.mmbase.org:/tmp/cvs-serv6316/src/org/mmbase/storage/implementation/database
Modified Files:
Tag: MMBase-1_8
DatabaseStorageManager.java
Log Message:
tinyint is a valid dbtype for a boolean (mysql uses it). Also added a catch for
invalid (corrupt) nodes in the convertLegacyBinaryFiles method
See also:
http://cvs.mmbase.org/viewcvs/src/org/mmbase/storage/implementation/database
Index: DatabaseStorageManager.java
===================================================================
RCS file:
/var/cvs/src/org/mmbase/storage/implementation/database/DatabaseStorageManager.java,v
retrieving revision 1.169.2.11
retrieving revision 1.169.2.12
diff -u -b -r1.169.2.11 -r1.169.2.12
--- DatabaseStorageManager.java 11 Apr 2008 15:18:30 -0000 1.169.2.11
+++ DatabaseStorageManager.java 8 Jul 2008 11:07:33 -0000 1.169.2.12
@@ -32,7 +32,7 @@
*
* @author Pierre van Rooden
* @since MMBase-1.7
- * @version $Id: DatabaseStorageManager.java,v 1.169.2.11 2008/04/11 15:18:30
nklasens Exp $
+ * @version $Id: DatabaseStorageManager.java,v 1.169.2.12 2008/07/08 11:07:33
pierre Exp $
*/
public class DatabaseStorageManager implements StorageManager {
@@ -2289,7 +2289,6 @@
switch (jdbcType) {
case Types.INTEGER :
case Types.SMALLINT :
- case Types.TINYINT :
if (mmbaseType == Field.TYPE_INTEGER || mmbaseType ==
Field.TYPE_NODE) {
return mmbaseType;
} else {
@@ -2301,6 +2300,12 @@
} else {
return Field.TYPE_LONG;
}
+ case Types.TINYINT :
+ if (mmbaseType == Field.TYPE_INTEGER || mmbaseType ==
Field.TYPE_BOOLEAN) {
+ return mmbaseType;
+ } else {
+ return Field.TYPE_INTEGER;
+ }
case Types.FLOAT :
case Types.REAL :
return Field.TYPE_FLOAT;
@@ -2854,7 +2859,10 @@
int number = numbers.getInt("number");
log.debug("Processing " + tableName +
" " + number);
MMObjectNode node =
builder.getNode(number);
- //MMObjectNode node =
(MMObjectNode)i.next();
+ if (node == null) {
+ log.warn("Database inconsistency
for node with number: " + number);
+ continue;
+ }
File storeFile = getBinaryFile(node,
fieldName);
if (!storeFile.exists()) { // not
found!
File legacyFile =
getLegacyBinaryFile(node, fieldName);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs