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.