[
https://issues.apache.org/jira/browse/SQOOP-341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119875#comment-13119875
]
Hudson commented on SQOOP-341:
------------------------------
Integrated in Sqoop-jdk-1.6 #34 (See
[https://builds.apache.org/job/Sqoop-jdk-1.6/34/])
SQOOP-341. Support for unsigned integers with MySQL.
(Alex Newman via Arvind Prabhakar)
arvind : http://svn.apache.org/viewvc/?view=rev&rev=1178661
Files :
* /incubator/sqoop/trunk/src/java/com/cloudera/sqoop/manager/SqlManager.java
*
/incubator/sqoop/trunk/src/java/com/cloudera/sqoop/mapreduce/db/DataDrivenDBInputFormat.java
*
/incubator/sqoop/trunk/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java
> Sqoop doesn't handle unsigned ints at least with MySQL
> ------------------------------------------------------
>
> Key: SQOOP-341
> URL: https://issues.apache.org/jira/browse/SQOOP-341
> Project: Sqoop
> Issue Type: Bug
> Reporter: Alex Newman
> Assignee: Alex Newman
> Fix For: 1.4.0
>
> Attachments:
> 0001-SQOOP-341.-Sqoop-doesn-t-handle-unsigned-ints-at-lea.patch,
> 0001-SQOOP-341.-Sqoop-doesn-t-handle-unsigned-ints-at-lea.patch
>
>
> mysql> describe Inventory;
> +-----------+-------------------------------+------+-----+---------+-------+
> | Field | Type | Null | Key | Default | Extra |
> +-----------+-------------------------------+------+-----+---------+-------+
> | ProductID | smallint(4) unsigned zerofill | YES | | NULL | |
> | Quantity | int(10) unsigned | YES | | NULL | |
> +-----------+-------------------------------+------+-----+---------+-------+
> 2 rows in set (0.00 sec)
> mysql> insert into Inventory Values (9999,9999999999);
> Query OK, 1 row affected, 1 warning (0.00 sec)
> mysql> select * from Inventory;
> +-----------+------------+
> | ProductID | Quantity |
> +-----------+------------+
> | 9999 | 4294967295 |
> +-----------+------------+
> Get's the following error
> ava.io.IOException: SQLException in nextKeyValue
> at
> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:248)
> at
> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:456)
> at
> org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67)
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
> at
> org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:188)
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:647)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
> at
> org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)
> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLDataException:
> '4.294967295E9' in column '2' is outside valid range for the datatype INTEGER.
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
> at com.mysql.jdbc.Util.getInstance(Util.java:382)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1025)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
> at
> com.mysql.jdbc.ResultSetImpl.throwRangeException(ResultSetImpl.java:7970)
> at
> com.mysql.jdbc.ResultSetImpl.parseIntAsDouble(ResultSetImpl.java:7199)
> at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2702)
> at
> org.apache.sqoop.lib.JdbcWritableBridge.readInteger(JdbcWritableBridge.java:51)
> at Inventory.readFields(Inventory.java:75)
> at
> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:244)
> ... 7 more
> This seems to be caused by sqoop having no notion of unsigned values when
> importing from MySQL(or maybe in general)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira