Multiplication on very large decimal numbers may return wrong results
Details
| Detail name | Value |
|---|---|
| Changelog Number | 12434 |
| Type | Bug |
| Status | Resolved |
| Affected Versions | Exasol 6.1.0, Exasol 6.2.0, Exasol 7.0.0 |
| Fix Versions | Exasol 7.1.0, Exasol 6.2.16, Exasol 7.0.11 |
| Resolution Date | 2021-06-10 |
Description
In some cases, the multiplication of very large decimal numbers may return wrong results. The expected behavior is that the query returns a data exception because the value is out of range.
Example
SELECT 18446744073709551615*18446744073709551615 FROM dual;
Workaround
Cast multiplication arguments to DOUBLE PRECISION where needed.
SELECT cast(18446744073709551615 as double)*cast(18446744073709551615 as double) FROM dual;
Fix
The query returns a data exception, as expected.