HomePhabricator

Convert `pushlog` and `refcursor` to BLOB storage

Description

Convert pushlog and refcursor to BLOB storage

Summary:
Fixes T5840. Some time ago I incorrectly believed that latin1_bin collation was synonymous with "binary". It is not, and does not permit UTF8 characters outside of BMP, among other sequences.

These two tables currently have LONGTEXT columns which should be LONGBLOB. The table design is explicilty intended to accommodate invalid/unreasonably long ref names, but the collation prevents this from working properly.

After T1191, we'll have a general system for resolving this, but a user hit an issue yesterday (T5840) with a brnach name containing Chinese characters.

Test Plan:

  • Tried emoji inserts into both tables, was rebuffed.
  • Ran migration.
  • Performed emoji inserts into both tables.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T5840

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