HomePhabricator

Assume utf8mb4 support

Description

Assume utf8mb4 support

Summary:
Ref T1191. This stops throwing an exception for non-BMP data when constructing queries.

  • For installs which have already adjusted, this allows emoji and other 4-byte characters to work.
  • For installs which have not adjusted yet but do have STRICT_ALL_TABLES set, MySQL will raise an error intead ("Incorrect string value...").
  • For installs which have not adjusted and also do not use STRICT_ALL_TABLES, this will silently truncate data. This is potentially a security risk. However, these installs are warned about the risk of leaving STRICT_ALL_TABLES disabled, there's no known way to exploit this issue, and they'll be auto-adjusted soon.

Test Plan: Ran locally and on secure.phabricator.com with this patch for a long time.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T1191

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

Details

Provenance
epriestleyAuthored on
epriestleyPushed on Nov 7 2014, 8:29 PM
Reviewer
btrahan
Differential Revision
D10798: Assume utf8mb4 support
Parents
rPHU43a0b6d17bb0: Remove history support for console prompts on Windows
Branches
Unknown
Tags
Unknown
Tasks
T1191: Comments are truncated at first non-base-plane character