Bug #107287 | CASE operator does not follow standard equality | ||
---|---|---|---|
Submitted: | 13 May 2022 10:16 | Modified: | 13 May 2022 10:21 |
Reporter: | Vicent Marti | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S3 (Non-critical) |
Version: | 8.0.28, 8.0.29, 5.7.38 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[13 May 2022 10:16]
Vicent Marti
[13 May 2022 10:21]
MySQL Verification Team
Hello Vicent Marti, Thank you for the report and feedback. regards, Umesh
[15 May 2022 9:08]
huahua xu
Hi, Vicent Marti It is indeed an issue. For the query statement `SELECT case -1 when 18446744073709551615 then 1 else 0 end`, the function Item_func_case is very unwise to build the cmp_items by choosing cmp_item_int. But, for the query statement `SELECT -1 = 18446744073709551615`, the function Item_func_eq sets the compare function to Arg_comparator::compare_int_signed_unsigned in detail.