Bug #32103 | optimizer crash when join on int and mediumint with variable in where clause.. | ||
---|---|---|---|
Submitted: | 5 Nov 2007 11:28 | Modified: | 19 Nov 2007 4:36 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S1 (Critical) |
Version: | 4.1.22,5.0.50,5.1.23 | OS: | Any |
Assigned to: | Alexey Kopytov | CPU Architecture: | Any |
Tags: | crash |
[5 Nov 2007 11:28]
Shane Bester
[5 Nov 2007 11:46]
MySQL Verification Team
any numeric global variable appears to cause a crash.
[7 Nov 2007 15:45]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/37267 ChangeSet@1.2686, 2007-11-07 18:45:04+03:00, kaa@polly.(none) +3 -0 Fix for bug #32103: optimizer crash when join on int and mediumint with variable in where clause. Problem: the new_item() method of Item_uint used an incorrect constructor. "new Item_uint(name, max_length)" calls Item_uint::Item_uint(const char *str_arg, uint length) which assumes the first argument to be the string representation of the value, not the item's name. This could result in either a server crash or incorrect results depending on usage scenarios. Fixed by using the correct constructor in new_item(): Item_uint::Item_uint(const char *str_arg, longlong i, uint length).
[16 Nov 2007 9:28]
Bugs System
Pushed into 4.1.24
[16 Nov 2007 9:30]
Bugs System
Pushed into 5.0.52
[16 Nov 2007 9:32]
Bugs System
Pushed into 5.1.23-rc
[16 Nov 2007 9:34]
Bugs System
Pushed into 6.0.4-alpha
[19 Nov 2007 4:36]
Paul DuBois
Noted in 4.1.24, 5.0.52, 5.1.23, 6.0.4 changelogs. The server crashed on optimizations involving a join of INT and MEDIUMINT columns and a system variable in the WHERE clause.