[
https://issues.apache.org/jira/browse/OPENJPA-3035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18136685#comment-18136685
]
ASF subversion and git services commented on OPENJPA-3035:
----------------------------------------------------------
Commit 3e30dea3fb3fcd2effdee7bb259b26f9312bc5b9 in openjpa's branch
refs/heads/OPENJPA-3051 from Richard Zowalla
[ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=3e30dea3f ]
[OPENJPA-3051] Keep the precision and scale of decimal columns on H2
H2 2.x reads an unsized NUMERIC as NUMERIC(100000, 0). H2Dictionary
listed NUMERIC and DECIMAL as fixed size types, so @Column(precision,
scale) was dropped from the DDL and fractional values were rounded to
integers. Write the precision and scale into the type name and create
an unsized decimal column of a non integral Java type as DECFLOAT(38)
on H2 2.x, unless NumericTypeName or DecimalTypeName was configured.
Read a DECFLOAT value with negative scale back with scale 0. Use
fractional decimals in the OPENJPA-3035 and OPENJPA-3044 tests.
> MySQL: numeric operations return Long where Integer is expected
> ---------------------------------------------------------------
>
> Key: OPENJPA-3035
> URL: https://issues.apache.org/jira/browse/OPENJPA-3035
> Project: OpenJPA
> Issue Type: Sub-task
> Reporter: Richard Zowalla
> Priority: Major
> Fix For: 4.2.0
>
>
> On MySQL, arithmetic on integer attributes returns a {{Long}}:
> {noformat}ClassCastException: class java.lang.Long cannot be cast to class
> java.lang.Integer{noformat}
> The JPA spec gives the result type of these operations from the operand
> types, so the value has to be converted to the expected type.
> Failing tests: {{Client5.diffNumberExpTest}}, {{neg}}, {{sumNumExpTest}}.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)