You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by "Ricardo Ghisi Tobaldini (JIRA)" <de...@cayenne.apache.org> on 2008/10/16 16:03:11 UTC

[jira] Updated: (CAY-1125) MySQL SMALLINT UNSIGNED is mapped as java.lang.Short, should be java.lang.Integer

     [ https://issues.apache.org/cayenne/browse/CAY-1125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ricardo Ghisi Tobaldini updated CAY-1125:
-----------------------------------------

    Attachment: stacktrace.txt

Stack trace when the exception is raised

> MySQL SMALLINT UNSIGNED is mapped as java.lang.Short, should be java.lang.Integer
> ---------------------------------------------------------------------------------
>
>                 Key: CAY-1125
>                 URL: https://issues.apache.org/cayenne/browse/CAY-1125
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Cayenne Core Library
>    Affects Versions: 2.0 [STABLE]
>         Environment: Ubuntu Linux 8.04, Java 1.6.0_07, MySQL  5.0.51a-3ubuntu5.1, MySQL Connector/J 5.1.6
>            Reporter: Ricardo Ghisi Tobaldini
>            Assignee: Andrus Adamchik
>         Attachments: stacktrace.txt
>
>
> When trying to retrieve the value of a column that is of type "SMALLINT UNSIGNED" an exception of type com.mysql.jdbc.exceptions.jdbc4.MySQLDataException is raised.
> This only happens if the value on that column is greater than 32767, since it overflows the Java Short type (that is always signed).
> Forcing the type to INTEGER in the map.xml changes anything.
> It seems that Cayenne is using a getShort() when it should use getInteger() (the later is always needed when using the unsigned version of SMALLINT in the database, doesn't it?).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.