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
F18091494: D11893.id28652.diff
Wed, Aug 6, 10:03 PM
F18088322: D11893.diff
Wed, Aug 6, 7:33 AM
F18087545: D11893.id28655.diff
Wed, Aug 6, 4:25 AM
F17882233: D11893.id.diff
Mon, Jul 28, 10:36 PM
F17855760: D11893.diff
Sun, Jul 27, 4:33 PM
Unknown Object (File)
Jun 25 2025, 6:21 PM
Unknown Object (File)
May 21 2025, 3:59 AM
Unknown Object (File)
May 12 2025, 1:51 AM
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.