Bug #40054 'check table .. for upgrade' doesn't detect collation change made in 6.0.{1, 6}
Submitted: 15 Oct 2008 14:50 Modified: 29 Jun 2009 19:14
Reporter: Ramil Kalimullin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Charsets Severity:S3 (Non-critical)
Version:>= 6.0.1 OS:Any
Assigned to: Ramil Kalimullin CPU Architecture:Any
Triage: Triaged: D2 (Serious)

[15 Oct 2008 14:50] Ramil Kalimullin
Description:
There were incompatible collation changes in 6.0.1 (latin2_czech_cs
), and 6.0.6 (bug #25420: Tilde = 'Y' in Chinese).
This may lead to a situation when a table is marked as corrupted after mysqld upgrade (as in bug #39585: innodb and myisam corruption after binary upgrade from <=5.0.46 to >=5.0.48).

How to repeat:
No actual data at the moment.

Suggested fix:
Fix 'check table .. for upgrade'.
[30 Oct 2008 7:37] 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/57411

2894 Ramil Kalimullin	2008-10-30
      Fix for bug#40054: 'check table .. for upgrade' doesn't detect
      collation change made in 6.0.{1, 6}
      
      Problem: 'CHECK TABLE ... FOR UPGRADE' did not check for 
      incompatible collation changes made in MySQL 6.0.1 and 6.0.6.
      
      Fix: add the check.
[21 Nov 2008 7:09] Alexander Barkov
The patch http://lists.mysql.com/commits/57411 is ok to push.
[21 Nov 2008 8: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/59471

2941 Ramil Kalimullin	2008-11-21
      Fix for bug#40054: 'check table .. for upgrade' doesn't detect
      collation change made in 6.0.{1, 6}
      
      Problem: 'CHECK TABLE ... FOR UPGRADE' did not check for
      incompatible collation changes made in MySQL 6.0.1 and 6.0.6.
      
      Fix: add the check.
[8 Dec 2008 11:30] Bugs System
Pushed into 6.0.9-alpha  (revid:ramil@mysql.com-20081121082056-vrolzlfkl4cgdq2l) (version source revid:ingo.struewing@sun.com-20081121151447-dtf2ofz2ys0zqed1) (pib:5)
[10 Dec 2008 20:55] Paul Dubois
Noted in 6.0.9 changelog.

CHECK TABLE ... FOR UPGRADE did not check for collation changes made
in MySQL 6.0.1 to latin2_czech_cs or collation changes made in MySQL
6.0.6 to big5_chinese_ci, cp866_general_ci, gb2312_chinese_ci, and
gbk_chinese_ci.
[19 May 2009 9:10] 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/74465

3300 Ramil Kalimullin	2009-05-19
      Correction of the fix for bug#40054: 'check table .. for upgrade' 
      doesn't detect collation change made in 6.0.{1, 6}
      
      Check for latin2_czech_cs use prior to 6.0.5 as there's a fix for 
      #33452: Primary difference between capital and small letters U and O
      that has changed the collation in 6.0.5.
     @ sql/handler.cc
        Correction of the fix for bug#40054: 'check table .. for upgrade' 
        doesn't detect collation change made in 6.0.{1, 6}
          - check for latin2_czech_cs use prior to 6.0.5 due to fix for #33452.
[17 Jun 2009 19:24] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090616183122-chjzbaa30qopdra9) (version source revid:satya.bn@sun.com-20090520055844-e8tlqgcu8w8vsub5) (merge vers: 6.0.12-alpha) (pib:11)
[29 Jun 2009 19:14] Paul Dubois
Noted in 5.4.4 changelog.

CHECK TABLE ... FOR UPGRADE did not check for collation changes made
in MySQL 6.0.1 and 6.0.5 to latin2_czech_cs (Bug#25420) or collation
changes made in MySQL 6.0.6 to big5_chinese_ci, cp866_general_ci,
gb2312_chinese_ci, and gbk_chinese_ci. This also affects mysqlcheck
and mysql_upgrade, which cause that statement to be executed.