[
https://issues.apache.org/jira/browse/ODE-872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rafal Rusin resolved ODE-872.
-----------------------------
Resolution: Fixed
Applied. Thanks!
> DECIMAL and NUMERIC types are not handled properly for xvar on Oracle
> ---------------------------------------------------------------------
>
> Key: ODE-872
> URL: https://issues.apache.org/jira/browse/ODE-872
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 1.3.4
> Environment: External Variables on Oracle 9g/10g
> Reporter: Oleg Zenzin
> Fix For: 1.3.5
>
> Attachments: bpel-runtime.patch
>
>
> The external variables functionality can suffer form Oracle 9g/10g bug when
> run on Java 1.5. Essentially what happens is when a BigDecimal data is being
> updated or inserted the numbers like 125000 or others with trailing zeros can
> become "125", i.e. lose the zeros! The bug is discussed here:
> http://www.javalobby.org/java/forums/t88158.html. Here's an excerpt:
> "Between Java 1.4 and Java 1.5, the BigDecimal class changed. In Java 1.4,
> the scale must be non-negative. In Java 1.5, the scale can now be negative
> (see the javadoc).
> If you look at the value 12500000 as a BigDecimal, in Java 1.5, this gets
> represented as 125 with a scale of -5. In 1.4, this would get represented as
> 12500000 with a scale of 0.
> In Oracle's driver, they appear to do the conversion to an array of bytes to
> send to the driver themselves; I'm not sure which cases it will work for, but
> I'd suspect that it won't work correctly for a large number of negative
> scales. I'd guess that they designed it under 1.4 and didn't test it
> adequately under 1.5. "
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.