Page MenuHomePhabricator

Use utf8_general_ci for "sort" columns in old MySQL
ClosedPublic

Authored by epriestley on Feb 26 2015, 4:00 PM.
Tags
None
Referenced Files
F18580519: D11893.id28652.diff
Thu, Sep 11, 3:46 AM
F18580220: D11893.id28655.diff
Thu, Sep 11, 2:57 AM
F18580202: D11893.id28655.diff
Thu, Sep 11, 2:49 AM
F18505002: D11893.id.diff
Fri, Sep 5, 12:19 AM
F18496601: D11893.diff
Thu, Sep 4, 5:32 PM
F18404252: D11893.id.diff
Fri, Aug 29, 10:14 PM
F18336807: D11893.id28655.diff
Mon, Aug 25, 5:10 PM
F18091494: D11893.id28652.diff
Aug 6 2025, 10:03 PM
Subscribers

Details

Summary

Fixes T7287. This trades off 4-byte character support for case insensitivity in these columns, which is a much better trade on the balance.

Also adds more warnings about old MySQL. Note that we already issue a warning when you run "storage adjust" (which I've made stronger) and already "strongly recommend" MySQL 5.5 or newer in the install documentation.

Test Plan
  • Ran storage adjust --disable-utf8mb4 to go to old definitions, then ran storage adjust to get back to the new ones. Everything seemed OK in both cases.
  • Verified that utf8mb4 data can be migrated out of these colums with --unsafe (which will truncate).
  • Verified that manual explains this.
  • Faked my way into the setup warning.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Use utf8_general_ci for "sort" columns in old MySQL.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Feb 26 2015, 6:08 PM
This revision was automatically updated to reflect the committed changes.