Bug #71937 Description for ALTER TABLE..CONVERT TO CHARACTER SET should mention collation
Submitted: 5 Mar 2014 12:17 Modified: 10 Mar 2014 16:58
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.6.16, 5.6.17 OS:Any
Assigned to: Paul DuBois CPU Architecture:Any

[5 Mar 2014 12:17] Daniël van Eeden
Description:
Page: http://dev.mysql.com/doc/refman/5.6/en/alter-table.html

Table:
CREATE TABLE `l1` (
  `name_cs` varchar(10) CHARACTER SET latin1 COLLATE latin1_general_cs DEFAULT NULL,
  `name_ci` varchar(10) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1

When I do "ALTER TABLE l1 CONVERT TO CHARACTER SET utf8;" it will not only change the character set but also (understandably) the collation. When no collation is specified it will use the default collation for the character set (utf8_general_ci in this case).

A warning should be added that this might change the collation from a case sensitive one to a case insensitive one, which might result in different results for some queries.

How to repeat:
See description.
[5 Mar 2014 12:46] MySQL Verification Team
Hello Daniel,

Thank you for the bug report.

Thanks,
Umesh
[10 Mar 2014 16:58] Paul DuBois
Thank you for your bug report. This issue has been addressed in the documentation. The updated documentation will appear on our website shortly, and will be included in the next release of the relevant products.

If you specify CONVERT TO CHARACTER SET without a collation, the
default collation for the character set is used. If this collation is
inappropriate for the intended table use (for example, if it would
change from a case-sensitive collation to a case-insensitive
collation), specify a collation explicitly.