Update of /var/cvs/src/org/mmbase/storage/implementation/database
In directory
james.mmbase.org:/tmp/cvs-serv14618/src/org/mmbase/storage/implementation/database
Modified Files:
DatabaseStorageManager.java
Log Message:
I think the check for size should have been something like this
DayanaseSize is now checked and not the BuilderSize
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.209
retrieving revision 1.210
diff -u -b -r1.209 -r1.210
--- DatabaseStorageManager.java 31 Jan 2009 09:28:52 -0000 1.209
+++ DatabaseStorageManager.java 11 Feb 2009 20:41:56 -0000 1.210
@@ -35,7 +35,7 @@
*
* @author Pierre van Rooden
* @since MMBase-1.7
- * @version $Id: DatabaseStorageManager.java,v 1.209 2009/01/31 09:28:52
michiel Exp $
+ * @version $Id: DatabaseStorageManager.java,v 1.210 2009/02/11 20:41:56
nklasens Exp $
*/
public class DatabaseStorageManager implements StorageManager {
@@ -2626,17 +2626,19 @@
}
}
// compare size
- int size = (Integer)colInfo.get("COLUMN_SIZE");
- int cursize = field.getMaxLength();
+ int databaseSize =
((Integer)colInfo.get("COLUMN_SIZE")).intValue();
+ int builderFieldSize = field.getMaxLength();
// ignore the size difference for large fields
(generally blobs or memo texts)
// since most databases do not return accurate sizes
for these fields
- if (cursize != -1 && size > 0 && size != cursize &&
cursize <= 255) {
- if (size < cursize) {
+ boolean isBuilderFieldSizeDefined = builderFieldSize
!= -1;
+ if (isBuilderFieldSizeDefined && databaseSize > 0 &&
databaseSize <= 4096
+ && databaseSize != builderFieldSize) {
+ if (databaseSize < builderFieldSize) {
// only correct if storage is more restrictive
- field.setMaxLength(size);
- log.warn("VERIFY: Field '" + field.getName() +
"' of builder '" + builder.getTableName() + "' mismatch : size defined as " +
cursize + ", but in storage " + size + " (value corrected for this session)");
+ field.setMaxLength(databaseSize);
+ log.warn("VERIFY: Field '" + field.getName() +
"' of builder '" + builder.getTableName() + "' mismatch : size defined as " +
builderFieldSize + ", but in storage " + databaseSize + " (value corrected for
this session)");
} else {
- log.debug("VERIFY: Field '" + field.getName()
+ "' of builder '" + builder.getTableName() + "' mismatch : size defined as " +
cursize + ", but in storage " + size);
+ log.debug("VERIFY: Field '" + field.getName()
+ "' of builder '" + builder.getTableName() + "' mismatch : size defined as " +
builderFieldSize + ", but in storage " + databaseSize);
}
}
columns.remove(id);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs