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
F18876178: D11893.id.diff
Wed, Nov 5, 10:14 PM
F18870320: D11893.diff
Tue, Nov 4, 4:37 PM
F18831742: D11893.id28652.diff
Sat, Oct 25, 3:01 PM
F18790948: D11893.diff
Wed, Oct 15, 9:22 PM
F18780307: D11893.id.diff
Sun, Oct 12, 5:52 AM
F18580519: D11893.id28652.diff
Sep 11 2025, 3:46 AM
F18580220: D11893.id28655.diff
Sep 11 2025, 2:57 AM
F18580202: D11893.id28655.diff
Sep 11 2025, 2:49 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.