Bug #101457 | Optimizer trace still prints floating point numbers imprecisely | ||
---|---|---|---|
Submitted: | 4 Nov 2020 11:42 | Modified: | 12 Nov 2020 22:16 |
Reporter: | Alexey Kopytov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S3 (Non-critical) |
Version: | 8.0 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[4 Nov 2020 11:42]
Alexey Kopytov
[4 Nov 2020 13:49]
MySQL Verification Team
Hi Kaamos, We completely concur with your analysis. Verified as reported.
[12 Nov 2020 22:16]
Jon Stephens
Documented fix as follows in the MySQL 8.0.24 changelog: The optimizer trace printed floating-point numbers with a maximum six characters, which meant that the precision could be very low for many values, given that sign, decimal point, and exponent could use many of these characters. This was especially problematic for large numbers, whose precision could thus be as small as 1, and which could be rounded to values whose absolute value exceeded DBL_MAX and so could be rejected by JSON parsers. Now such numbers are always printed in the optimizer trace with a precision of 6. Closed.
[13 Nov 2020 12:45]
MySQL Verification Team
Thanks, Jon.