Entity Modeler and JDBCExpression.columnTypeStringForAttribute CCE
------------------------------------------------------------------
Key: WOL-469
URL: http://issues.objectstyle.org/jira/browse/WOL-469
Project: WOProject/WOLips
Issue Type: Bug
Components: wolips
Affects Versions: 2.0.0.* (unreleased please specify)
Environment: 2.0.0.4083
Reporter: Denis Frolov
Priority: Minor
I get a following exception trying to generating SQL for eo-model that has jdbc2Info entries (left from EOModeler days, I guess) in it's index.eomodeld. As far as I can tell deleting these entries from index.eomodeld sovles a problem for me. I can email a model itself privately to Mike if needed.
java.lang.ClassCastException: java.lang.Integer
at com.webobjects.jdbcadaptor.JDBCExpression.columnTypeStringForAttribute(JDBCExpression.java:293)
at com.webobjects.eoaccess.EOSQLExpression.addCreateClauseForAttribute(EOSQLExpression.java:2498)
at com.webobjects.eoaccess.EOSynchronizationFactory.createTableStatementsForEntityGroup(EOSynchronizationFactory.java:318)
at com.webobjects.eoaccess.EOSynchronizationFactory.createTableStatementsForEntityGroups(EOSynchronizationFactory.java:487)
at com.webobjects.eoaccess.EOSynchronizationFactory.schemaCreationStatementsForEntities(EOSynchronizationFactory.java:951)
at com.webobjects.eoaccess.EOSynchronizationFactory.schemaCreationScriptForEntities(EOSynchronizationFactory.java:747)
at org.objectstyle.wolips.eomodeler.sql.EOFSQLGenerator.getSchemaCreationScript(EOFSQLGenerator.java:389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog.generateSql(Unknown Source)
at org.objectstyle.wolips.eomodeler.actions.GenerateSQLDialog$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
jdbc2Info =
{
ANSI92_CONFORMANCE = ANSI92EntryLevel;
DBMS_NAME = MySQL;
DRIVER_NAME = "MySQL-AB JDBC Driver";
DRIVER_VER = "mysql-connector-java-3.0.15-ga ( $Date: 2004/08/09 22:15:11 $, $Revision: 1.27.2.43 $ )";
IDENTIFIER_QUOTE_STRING = "`";
NON_NULLABLE_COLUMNS = T;
STRING_FUNCTIONS = "ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CONCAT_WS,CONV,ELT,EXPORT_SET,FIELD,FIND_IN_SET,HEX,INSERT,INSTR,LCASE,LEFT,LENGTH,LOAD_FILE,LOCATE,LOCATE,LOWER,LPAD,LTRIM,MAKE_SET,MATCH,MID,OCT,OCTET_LENGTH,ORD,POSITION,QUOTE,REPEAT,REPLACE,REVERSE,RIGHT,RPAD,RTRIM,SOUNDEX,SPACE,STRCMP,SUBSTRING,SUBSTRING,SUBSTRING,SUBSTRING,SUBSTRING_INDEX,TRIM,UCASE,UPPER";
typeInfo =
{
BIGINT =
{
createParams = 1;
defaultJDBCType =
(
BIGINT
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 19;
};
BINARY =
{
createParams = 1;
defaultJDBCType =
(
BINARY
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 255;
};
BIT =
{
createParams = 1;
defaultJDBCType =
(
BIT
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 1;
};
BLOB =
{
createParams = 0;
defaultJDBCType =
(
"LONG VARBINARY"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 65535;
};
BOOL =
{
createParams = 1;
defaultJDBCType =
(
BIT
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 1;
};
CHAR =
{
createParams = 1;
defaultJDBCType =
(
CHAR
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 255;
};
DATE =
{
createParams = 1;
defaultJDBCType =
(
DATE
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 0;
};
DATETIME =
{
createParams = 1;
defaultJDBCType =
(
TIMESTAMP
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 0;
};
DECIMAL =
{
createParams = 2;
defaultJDBCType =
(
DECIMAL
);
isNullable = T;
isSearchable = T;
maxScale = 308;
minScale = "-308";
precision = 17;
};
DOUBLE =
{
createParams = 2;
defaultJDBCType =
(
DOUBLE
);
isNullable = T;
isSearchable = T;
maxScale = 308;
minScale = "-308";
precision = 17;
};
"DOUBLE PRECISION" =
{
createParams = 2;
defaultJDBCType =
(
DOUBLE
);
isNullable = T;
isSearchable = T;
maxScale = 308;
minScale = "-308";
precision = 17;
};
ENUM =
{
createParams = 1;
defaultJDBCType =
(
VARCHAR
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 65535;
};
FLOAT =
{
createParams = 2;
defaultJDBCType =
(
REAL
);
isNullable = T;
isSearchable = T;
maxScale = 38;
minScale = "-38";
precision = 10;
};
INT =
{
createParams = 1;
defaultJDBCType =
(
INTEGER
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 10;
};
INTEGER =
{
createParams = 1;
defaultJDBCType =
(
INTEGER
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 10;
};
"LONG VARBINARY" =
{
createParams = 1;
defaultJDBCType =
(
"LONG VARBINARY"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 16777215;
};
"LONG VARCHAR" =
{
createParams = 1;
defaultJDBCType =
(
"LONG VARCHAR"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 16777215;
};
LONGBLOB =
{
createParams = 0;
defaultJDBCType =
(
"LONG VARBINARY"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 2147483647;
};
LONGTEXT =
{
createParams = 1;
defaultJDBCType =
(
"LONG VARCHAR"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 2147483647;
};
MEDIUMBLOB =
{
createParams = 0;
defaultJDBCType =
(
"LONG VARBINARY"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 16777215;
};
MEDIUMINT =
{
createParams = 1;
defaultJDBCType =
(
INTEGER
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 7;
};
MEDIUMTEXT =
{
createParams = 1;
defaultJDBCType =
(
"LONG VARCHAR"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 16777215;
};
NUMERIC =
{
createParams = 2;
defaultJDBCType =
(
NUMERIC
);
isNullable = T;
isSearchable = T;
maxScale = 308;
minScale = 308;
precision = 17;
};
REAL =
{
createParams = 2;
defaultJDBCType =
(
DOUBLE
);
isNullable = T;
isSearchable = T;
maxScale = 308;
minScale = "-308";
precision = 17;
};
SET =
{
createParams = 1;
defaultJDBCType =
(
VARCHAR
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 64;
};
SMALLINT =
{
createParams = 1;
defaultJDBCType =
(
SMALLINT
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 5;
};
TEXT =
{
createParams = 1;
defaultJDBCType =
(
"LONG VARCHAR"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 65535;
};
TIME =
{
createParams = 1;
defaultJDBCType =
(
TIME
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 0;
};
TIMESTAMP =
{
createParams = 1;
defaultJDBCType =
(
TIMESTAMP
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 0;
};
TINYBLOB =
{
createParams = 0;
defaultJDBCType =
(
"LONG VARBINARY"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 255;
};
TINYINT =
{
createParams = 1;
defaultJDBCType =
(
TINYINT
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 3;
};
TINYTEXT =
{
createParams = 1;
defaultJDBCType =
(
"LONG VARCHAR"
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 255;
};
VARBINARY =
{
createParams = 1;
defaultJDBCType =
(
VARBINARY
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 255;
};
VARCHAR =
{
createParams = 1;
defaultJDBCType =
(
VARCHAR
);
isNullable = T;
isSearchable = T;
maxScale = 0;
minScale = 0;
precision = 255;
};
};
};
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.objectstyle.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
This archive was generated by hypermail 2.0.0 : Tue May 29 2007 - 09:01:33 EDT