[MDEV-24790] CAST('0e1111111111' AS DECIMAL(38,0)) returns a wrong result Created: 2021-02-05 Updated: 2021-06-10 Resolved: 2021-02-09 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data types |
| Affects Version/s: | 5.5, 10.0, 10.5.8, 10.3, 10.4, 10.5 |
| Fix Version/s: | 10.2.38, 10.3.29, 10.4.19, 10.5.10, 10.6.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
This query returns a correct result:
Let's add one more digits to the exponent:
Opps. Looks wrong. 0 multiplied to 10^1111111111 should still be 0.
|
| Comments |
| Comment by Alexander Barkov [ 2021-02-05 ] | ||||||||||||
|
A similar problem happens with a non-zero mantissa:
Looks wrong. The expected result is 99999999999999999999999999999999999999 - the maximum possible value for the target data type. | ||||||||||||
| Comment by Alexander Barkov [ 2021-02-05 ] | ||||||||||||
|
Note, DOUBLE works fine for the same input:
Notice, it returns 0 and the maximum possible DOUBLE value. Looks correct. | ||||||||||||
| Comment by Oleksandr Byelkin [ 2021-02-08 ] | ||||||||||||
|
OK to push in 10.2 |