Bug #30219 | GROUP BY with DISTINCT broken with BIT type in MyISAM in many cases | ||
---|---|---|---|
Submitted: | 3 Aug 2007 3:40 | Modified: | 25 Aug 2007 16:19 |
Reporter: | Jeremy Cole (Basic Quality Contributor) (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: MyISAM storage engine | Severity: | S2 (Serious) |
Version: | 5.0 (all) | OS: | Any |
Assigned to: | Igor Babaev | CPU Architecture: | Any |
Tags: | bit, distict, GROUP BY, myisam |
[3 Aug 2007 3:40]
Jeremy Cole
[3 Aug 2007 8:03]
Sveta Smirnova
Thank you for the report. Verified as described.
[5 Aug 2007 9:21]
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/32115 ChangeSet@1.2501, 2007-08-05 02:27:33-07:00, igor@olga.mysql.com +3 -0 Fix bug #30219. This bug manifested itself for queries with grouping by columns of the BIT type. It led to wrong comparisons of bit-field values and wrong result sets. Bit-field values never cannot be compared as binary values. Yet the class Field_bit had an implementation of the cmp method that compared bit-fields values as binary values. Also the get_image and set_image methods of the base class Field cannot be used for objects of the Field_bit class. Now these methods are declared as virtual and specific implementations of the methods are provided for the class Field_bit.
[5 Aug 2007 21:11]
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/32122 ChangeSet@1.2501, 2007-08-05 14:16:49-07:00, igor@olga.mysql.com +3 -0 Fix bug #30219. This bug manifested itself for queries with grouping by columns of the BIT type. It led to wrong comparisons of bit-field values and wrong result sets. Bit-field values never cannot be compared as binary values. Yet the class Field_bit had an implementation of the cmp method that compared bit-fields values as binary values. Also the get_image and set_image methods of the base class Field cannot be used for objects of the Field_bit class. Now these methods are declared as virtual and specific implementations of the methods are provided for the class Field_bit.
[15 Aug 2007 9:48]
Bugs System
Pushed into 5.1.22-beta
[15 Aug 2007 9:51]
Bugs System
Pushed into 5.0.48
[25 Aug 2007 16:19]
Paul DuBois
Noted in 5.0.48, 5.1.22 changelogs. GROUP BY on BIT columns produced incorrect results.
[31 Aug 2007 17:03]
Paul DuBois
This was pushed to 5.1.23, not 5.1.22.