Bug #114373 | Incorrect result after transformation from "IN (SELECT)" to "materialization" | ||
---|---|---|---|
Submitted: | 15 Mar 16:32 | Modified: | 20 Mar 2:33 |
Reporter: | John Jove | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Data Types | Severity: | S3 (Non-critical) |
Version: | 8.0 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[15 Mar 16:32]
John Jove
[16 Mar 12:50]
John Jove
Moreover, after removing the index, an error was returned, in which the message is "ERROR 1690 (22003): BIGINT value is out of range in '-(`database1`.`t1`.`c1`)'".
[19 Mar 13:27]
MySQL Verification Team
Hi Mr. Jove, Thank you for your bug report. However, this is not a code bug. You made two mistakes in your queries. First of all, DOUBLE numeric type can use only 15.5 significant digits and not 16. If you remove one digit in your fractional part, both queries return the same result. Next, bitwise XOR operator can be used only for integer and string types (if those are convertible to integers). hence, this is not a bug either. However, this is not documented at all. Hence, this is a documentation bug. Hence, we used "SHOW WARNINGS" after each operation and no warning have been issued on the too long DOUBLE value, nor on the usage of bitwise XOR operation on the DOUBLE columns. Hence, this is first of all a documentation bug, but also a minor code bug. Verified for 8.0 and higher.
[20 Mar 2:33]
John Jove
Thank you for the detailed explanation.
[20 Mar 11:03]
MySQL Verification Team
Hi, You are truly welcome.