Homec4science

Fix various MySQL version issues with new charset stuff

Authored by epriestley <git@epriestley.com> on Oct 29 2014, 23:49.

Description

Fix various MySQL version issues with new charset stuff

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).

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T1191

Differential Revision: https://secure.phabricator.com/D10757

Details

Committed
epriestley <git@epriestley.com>Oct 29 2014, 23:49
Pushed
aubortJan 31 2017, 17:16
Parents
rPHbf66c90852ba: Fixed MediaWiki logo in login sprite sheets.
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH917da084176c: Fix various MySQL version issues with new charset stuff (authored by epriestley <git@epriestley.com>).Oct 29 2014, 23:49