Page MenuHomePhabricator

Fix various MySQL version issues with new charset stuff
ClosedPublic

Authored by epriestley on Oct 29 2014, 10:12 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Sep 6, 1:01 PM
Unknown Object (File)
Sat, Aug 24, 8:51 AM
Unknown Object (File)
Sat, Aug 17, 5:26 AM
Unknown Object (File)
Fri, Aug 16, 11:47 AM
Unknown Object (File)
Tue, Aug 13, 9:28 PM
Unknown Object (File)
Aug 1 2024, 1:13 AM
Unknown Object (File)
Jul 30 2024, 12:28 AM
Unknown Object (File)
Jul 28 2024, 1:27 AM
Subscribers

Details

Summary

Ref T1191. Notable stuff:

  • Adds --disable-utf8mb4 to bin/storage to make it easier to test what things will (approximately) do on old MySQL. This isn't 100% perfect but should catch all the major stuff. It basically makes us pretend the server is an old server.
  • Require utf8mb4 to dump a quickstart.
  • Fix some issues with quickstart generation, notably special casing the FULLTEXT handling.
  • Add an --unsafe flag to bin/storage adjust to let it truncate data to fix schemata.
  • Fix some old patches which don't work if the default table charset is utf8mb4.
Test Plan
  • Dumped a quickstart.
  • Loaded the quickstart with utf8mb4.
  • Loaded the quickstart with --disable-utf8mb4 (verified that we get binary columns, etc).
  • Adjusted schema with --disable-utf8mb4 (got a long adjustment with binary columns, some truncation stuff with weird edge case test data).
  • Adjusted schema with --disable-utf8mb4 --unsafe (got truncations and clean adjust).
  • Adjusted schema back without --disable-utf8mb4 (got a long adjustment with utf8mb4 columns, some invalid data on truncated utf8).
  • Adjusted schema without --disable-utf8mb4, but with --unsafe (got truncations on the invalid data).

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix various MySQL version issues with new charset stuff.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
src/applications/people/storage/PhabricatorUserSchemaSpec.php
12

This fixes the username tokenizer to be case-insensitive. Typing real names into global search is currently case-sensitive, which is incorrect.

src/infrastructure/storage/management/workflow/PhabricatorStorageManagementAdjustWorkflow.php
349–354

(I'll replace this with a link to documentation once I write it.)

btrahan edited edge metadata.

I can dig it.

This revision is now accepted and ready to land.Oct 29 2014, 10:15 PM
This revision was automatically updated to reflect the committed changes.