You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Andreas Borg (JIRA)" <ji...@apache.org> on 2016/10/14 14:08:20 UTC

[jira] [Updated] (OPENJPA-2671) Wrong type mapping for double in HSQLDB

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

Andreas Borg updated OPENJPA-2671:
----------------------------------
    Attachment: testHsqldbDouble.zip

Test code raising an exception when trying to store Double.NEGATIVE_INFINITY into HSQLDB with default type mapping.

> Wrong type mapping for double in HSQLDB
> ---------------------------------------
>
>                 Key: OPENJPA-2671
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2671
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 2.4.1
>            Reporter: Andreas Borg
>         Attachments: testHsqldbDouble.zip
>
>
> Currently, Java type {{double}} is mapped to {{NUMERIC}} for HSQLDB:
> {code:title=HSQLDictionary.java, line 82|borderStyle=solid}
>        doubleTypeName = "NUMERIC";
> {code}
> (see https://fisheye6.atlassian.com/browse/~tag=2.4.1/openjpa/tags/2.4.1/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/HSQLDictionary.java?hb=true).
> This seems wrong to me, as HSQLDB's {{NUMERIC}} is not a binary floating point type, but represents exact decimal numbers and maps to Java type {{BigDecimal}} (see HSQL documentation: http://hsqldb.org/doc/2.0/guide/sqlgeneral-chapt.html#sgc_numeric_types). The corresponding HSQL type for {{double}} is, according to this manual, {{REAL}}, {{FLOAT}} or {{DOUBLE}} (all being equivalent).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)