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
Unknown Object (File)
Apr 22 2026, 2:15 AM
Unknown Object (File)
Apr 2 2026, 10:29 PM
Unknown Object (File)
Mar 15 2026, 1:39 AM
Unknown Object (File)
Mar 14 2026, 11:21 PM
Unknown Object (File)
Mar 12 2026, 9:00 PM
Unknown Object (File)
Mar 3 2026, 11:06 PM
Unknown Object (File)
Nov 5 2025, 10:14 PM
Unknown Object (File)
Nov 4 2025, 4:37 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.