[ 
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.

Reply via email to