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.