[
https://issues.apache.org/jira/browse/DDLUTILS-152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468296
]
David M. Gaskin commented on DDLUTILS-152:
------------------------------------------
Hi Thomas,
I am using the newest version of the driver.
I believe that the problem is a MySQL J/Connector and have submitted a
bug report to MySQL.
I have sent you a separate E-Mail with the bug report.
In spite of the fact that J/Connector is at least inconsistent (Meta
Data INTEGER but a java.lang.Long returned)
IMHO DdlUtils should handle the basic problem of unsigned data in DBMSes.
Regards
Dave.
> Value out of range on an unsigned integer
> -----------------------------------------
>
> Key: DDLUTILS-152
> URL: https://issues.apache.org/jira/browse/DDLUTILS-152
> Project: DdlUtils
> Issue Type: Bug
> Components: Core - MySql
> Environment: Windows XP
> Reporter: David M. Gaskin
> Assigned To: Thomas Dudziak
>
> The column (number 2) is defined (in a MySQL database) as:
> IP_FROM int unsigned
> The stack trace is at the end of this description.
> The problem probably occurs on all databases that have any data type of
> (tinyint/smallint/mediumint/integer/bigint) unsigned
> The problem also occurs in the XML Schema, example:
> MySQL DDL is "IP_FROM int unsigned" that is mapped to:
> <column name="IP_FROM" primaryKey="false" required="true"
> type="INTEGER" size="10" default="0000000000" autoIncrement="false"/>
> Unsigned numeric data has to be promoted to the next larger java numeric type
> i.e.
> (unsigned) byte -> short
> (unsigned) short -> int
> (unsigned) int -> long
> (unsigned) long -> ???
> I use java.math.BigInteger for unsigned long in java.
> .
> Exception in thread "main" org.apache.ddlutils.DatabaseOperationException:
> Exception while reading the row from the resultset
> at
> org.apache.ddlutils.platform.ModelBasedResultSetIterator.next(ModelBasedResultSetIterator.java:263)
> at org.apache.ddlutils.io.DataWriter.write(DataWriter.java:368)
> at
> org.apache.ddlutils.io.DatabaseDataIO.writeDataToXML(DatabaseDataIO.java:448)
> at
> org.apache.ddlutils.io.DatabaseDataIO.writeDataToXML(DatabaseDataIO.java:316)
> at de.gaskin.db.ddlutils.test.MySQLDump1.<init>(MySQLDump1.java:30)
> at de.gaskin.db.ddlutils.test.MySQLDump1.main(MySQLDump1.java:34)
> Caused by: com.mysql.jdbc.exceptions.MySQLDataException: '2.147483648E9' in
> column '2' is outside valid range for the datatype INTEGER.
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:893)
> at com.mysql.jdbc.ResultSet.throwRangeException(ResultSet.java:7391)
> at com.mysql.jdbc.ResultSet.parseIntAsDouble(ResultSet.java:6710)
> at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2478)
> at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2570)
> at
> org.apache.ddlutils.platform.PlatformImplBase.extractColumnValue(PlatformImplBase.java:2098)
> at
> org.apache.ddlutils.platform.PlatformImplBase.getObjectFromResultSet(PlatformImplBase.java:2021)
> at
> org.apache.ddlutils.platform.ModelBasedResultSetIterator.next(ModelBasedResultSetIterator.java:253)
> ... 5 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.