*/
public static function databaseSupportsUTF8MB4(): bool {
if (!isset(\Civi::$statics[__CLASS__][__FUNCTION__])) {
- \Civi::$statics[__CLASS__][__FUNCTION__] = stripos(self::getInUseCollation(), 'utf8mb4') === TRUE;
+ \Civi::$statics[__CLASS__][__FUNCTION__] = stripos(self::getInUseCollation(), 'utf8mb4') === 0;
}
return \Civi::$statics[__CLASS__][__FUNCTION__];
}
*
* By default our DBs are not 🦉 compliant. This test will age
* out when we are.
- *
- * @throws \CRM_Core_Exception
*/
public function testEmojiInWhereClause(): void {
- $schemaNeedsAlter = CRM_Core_BAO_SchemaHandler::databaseSupportsUTF8MB4();
- if ($schemaNeedsAlter) {
- CRM_Core_DAO::executeQuery("
- ALTER TABLE civicrm_contact MODIFY COLUMN
- `first_name` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'First Name.',
- CHARSET utf8
- ");
- }
$this->callAPISuccess('Contact', 'get', [
'debug' => 1,
'first_name' => '🦉Claire',
+ 'version' => 4,
]);
- if ($schemaNeedsAlter) {
- CRM_Core_DAO::executeQuery("
- ALTER TABLE civicrm_contact MODIFY COLUMN
- `first_name` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'First Name.',
- CHARSET utf8mb4
- ");
- }
}
/**