| 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.
